我在尝试从长按一下从列表视图中删除项目时遇到了一些麻烦.以下是代码:
public class MListVIEwActivity extends ListActivity {private ListVIEw lv;private String[] some_data = null;@OverrIDepublic voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); some_data = getResources().getStringArray(R.array.mdata); // Bind resources Array to listadapter ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(this, R.layout.List_item, R.ID.label, some_data); this.setlistadapter(myAdapter); lv = getListVIEw(); lv.setdivIDerHeight(3); lv.setonItemLongClickListener(new OnItemLongClickListener() { @OverrIDe public boolean onItemLongClick(AdapterVIEw<?> parent, VIEw vIEw, int arg2, long arg3) { // Can't manage to remove an item here return false; } });}
任何帮助表示赞赏
解决方法:
您不应该使用Arrays,您应该使用ArrayList删除项目并将其添加到ListvIEw.
声明数组大小后,您可以修改特定索引中的数据,但不能删除项目或添加项目.
所以拿一个ArrayList,就在你长按ListVIEw Item时,只需调用ArrayList的remove方法并通知更改的数据集.
例:
ArrayList<String> al = new ArrayList<String>();
在你的longclick里面写下面的代码来删除项目.
al.remove(arg2);//where arg2 is position of item you clickmyAdapter.notifyDataSetChanged();
总结 以上是内存溢出为你收集整理的android – 长按一下从ListView中删除项目全部内容,希望文章能够帮你解决android – 长按一下从ListView中删除项目所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)