java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1003, result=102, data=Intent { (has extras) }} to activity {com.gwater.marinemining/com.gwater.swscs.module.samping.activity.SamplingPointListActivity}: java.lang.UnsupportedOperationException: removeViewAt(int) is not supported in AdapterView
时间: 2024-03-05 11:48:24 浏览: 385
抱歉,我的回答有误。根据错误提示,`removeViewAt()` 方法不适用于 `AdapterView`,包括 `ListView` 在内。
正确的做法是,使用 `Adapter` 中的数据源,从数据源中移除指定位置的数据,然后调用 `notifyDataSetChanged()` 方法更新 `ListView` 的显示。
具体步骤如下:
1. 在 `Adapter` 中添加一个方法,用于从数据源中移除指定位置的数据:
```java
public void removeItem(int position) {
// 从数据源中移除指定位置的数据
// ...
// 通知适配器数据已经改变
notifyDataSetChanged();
}
```
2. 在 `ListView` 的 `OnItemClickListener` 中调用该方法:
```java
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// 从数据源中移除指定位置的数据
adapter.removeItem(position);
}
});
```
3. 如果需要,可以在 `removeItem()` 方法中添加一些逻辑,例如移除数据时同时更新数据库等。
希望这次回答能够帮到你,如有疑问可以继续提问。
阅读全文
相关推荐



















