【问题标题】:Remove ListView Item on CustomAdapter control onClick in Android删除 Android 中 CustomAdapter 控件 onClick 上的 ListView 项
【发布时间】:2014-10-08 07:10:56
【问题描述】:

我正在使用Custom Adapter 绑定ListView。自定义ListView 包含TextView、'Spinner' 和ImageButton。一切正常。

现在,onImageButtonClickListener 我想从ListView 中删除该特定项目。单击ImageButton 时,我有position 的项目。我还有从ArrayList 中删除数据的代码。但我不知道如何从 ListView 中删除项目。

正如我所检查的,它会从 ArrayList 中删除项目,但不会影响到 ListView

请帮我。有什么方法可以在Custom Adapter 中调用类文件的ListView 吗?我尝试制作类文件的对象,但它显示nullpointerException

我的代码:

Custom Adapter {
imgDelete.setTag(position);
imgDelete.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
    // TODO Auto-generated method stub
        data.remove((Integer) v.getTag());

        notifyDataSetChanged();
    }
});
}

【问题讨论】:

  • 从数组列表中删除后是否调用了 notifydatasetchanged()?发布您的代码
  • @AjitPratapSingh,查看更新后的帖子。
  • 是否需要更多适配器代码。适配器在 getCount() 方法中是否使用相同的“数据”?
  • 您可以跳过通过setTag()设置位置并使用getItem(position)
  • @AjitPratapSingh,是的,一样。

标签: android android-listview custom-adapter


【解决方案1】:

使用adapter.remove()从适配器中删除它,然后使用adapter.notifyDataSetChanged()更新它

编辑: 在自定义适配器中,在 getView 中编写 imageButton onClick。在那里你可以使用remove(getItem(position))。这将从适配器中删除元素。然后拨打notifyDataSetChanged()

【讨论】:

  • 我正在使用ListView onItemClickListener,我正在使用自定义ListViewImageButton 的“onClick”。那么,如何从Custom Adapter 方面做到这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-22
  • 1970-01-01
  • 2011-02-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多