嗨,我正在为这部分而苦苦挣扎。我只想在单击该行上的按钮时从 ListView 中删除一个项目。
我试过了
holder.button.setText("End");
holder.button.setTag(position);
holder.button.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Integer index = (Integer) v.getTag();
app_details.remove(index.intValue());
notifyDataSetInvalidated();
}
});
但它的行为是不可预测的,我的意思是当单击一行上的按钮时,它会从 ListView 中删除另一个项目。
有人知道吗?
谢谢
最佳答案
我遇到了同样的问题,终于解决了。必须尝试 holder.button.setOnItemClickListener 按照步骤做你想做的:
- 在您当前的 Activity 类中实现
OnItemClickListener
。 - 将从 ListView 中删除项目的按钮设置为
setOnClickListener
。 - 将 ListView 设置为匿名内部类中的
setOnItemClickListener
监听器(例如,在OnClickListener
中)。 notifyDataSetChanged()
- 使用 Intent 再次调用此 Activity 。
例如:我采用一个 ListView listVw
->
holder.button.setText("End"); holder.button.setTag(position); holder.button.setOnClickListener(new OnClickListener() { public void onClick(View v) { // your needed stuffs... listView.setOnItemClickListener(this); } }); @Override public void onItemClick(AdapterView arg0, View arg1, int position, long id) { // TODO Auto-generated method stub //Do your stuff here... }
关于android - 从 ListView 中删除一个项目并在每行中单击按钮刷新它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8860453/