gpt4 book ai didi

android - 长按从ListView中删除项目

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:54:08 24 4
gpt4 key购买 nike

我在尝试通过长按从 ListView 中删除项目时遇到了一些麻烦。下面是代码:

public class MListViewActivity extends ListActivity {

private ListView lv;
private String[] some_data = null;

@Override
public 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>();

在您的长按中写入以下代码以删除项目。

al.remove(arg2);//where arg2 is position of item you click
myAdapter.notifyDataSetChanged();

关于android - 长按从ListView中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14340579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com