我刚开始使用列表,所以这可能是一个愚蠢的问题,但我不知道该怎么做,我检查了很多类似的问题,但他们的信息很复杂。我只有数字的列表将只有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框,我在其中获取用户数量。如何删除列表中的单个项目?
先谢谢你的帮助。
答案 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();
}
));