Android如何使用longclicklistener从列表中删除项目

时间:2012-03-25 20:32:49

标签: android list listview arraylist

我刚开始使用列表,所以这可能是一个愚蠢的问题,但我不知道该怎么做,我检查了很多类似的问题,但他们的信息很复杂。我只有数字的列表将只有1到10个项目,用户从EditText框输入,所以很简单,在显示我想让用户能够长时间删除此列表中的项目按下项目行,我该如何做到这一点?

这是我的代码:

final ArrayList<Double> individuallist = new ArrayList<Double>();
final ArrayAdapter<Double> bb;
bb = new ArrayAdapter<Double>(this,android.R.layout.simple_list_item_1 ,individuallist);
listView.setAdapter(bb);

   // add button

    Button addbutton = (Button) findViewById(R.id.btnnext);
    addbutton.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
                           iamount = amountText.getText().toString();
                       it = Double.valueOf(iamount);
            individuallist.add(0, it);
            bb.notifyDataSetChanged();
            item1.setText("");
        }
    });

这是我声明我的列表并向其添加项目的方式:item1是一个EditText框,我在其中获取用户数量。如何删除列表中的单个项目?

先谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

如果您希望在用户长按列表中的项目时从列表中删除该项目,请在列表视图上调用setOnItemLongClickListener()

从您OnItemLongClickListener的实施中,您将获得该职位。然后,您可以更新ListAdapter。它可能看起来像,

listView.setOnItemLongClickListener(new OnItemLongClickListener() {
  @Override
  public void onItemLongClick((AdapterView<?> parent, View view, int position, long id) {
    MyAdapter adapter = (MyAdapter)listView.getAdapter();
    myAdapter.removeItemAt(pos); // you need to implement this method
    myAdapter.notifyDataSetChanged();
  }
));