android - 长按从ListView中删除项目

标签 android android-listview android-arrayadapter

我在尝试通过长按从 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/

相关文章:

Android TimePickerDialog 样式指南/文档?

android - RadioButton 作为平面按钮?

android - 如何在android中创建多个 ListView

android - 具有 visibility=gone 元素的膨胀布局的性能影响

android - 每天触发一次以上的通知

Android 拍照在 HTC Desire 上崩溃

android - 动画 ListView 标题

android - ViewPager(带 TabHost)Fragment GetItem 被多次调用

android - 如何在自定义 ListView 适配器中处理 RadioGroup 的 onCheckedChangeListener

android - 为某些 ListView 项目设置动画