gpt4 book ai didi

android - 如何使用 onLongPress 适配器删除列表项

转载 作者:行者123 更新时间:2023-11-30 04:38:43 27 4
gpt4 key购买 nike

有没有一种简单的方法可以使用 onLongPress 删除列表中的项目?

我想使用 OnGestureListener - onLongPress 来监听 longpress 并删除列表中的项目并通过适配器相应地更新。

我的问题是,如果我使用自定义适配器,则 onlistItemclickonItemLongClick 会发生冲突,并且长按不会触发任何内容!

    public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub
Toast.makeText(listmodified.this, "A long click detected", Toast.LENGTH_SHORT).show();
if (e.getAction()==MotionEvent.ACTION_DOWN)
{

OnItemLongClickListener itemDelListener = new OnItemLongClickListener(){

//@Override
public boolean onItemLongClick(AdapterView<?> parent, View arg1,
int position, long arg3) {
// TODO Auto-generated method stub
itemSelected=parent.getItemAtPosition(position).toString();

adapter.remove(itemSelected);
myList.remove(position);
adapter.notifyDataSetChanged();
Toast.makeText(listmodified.this, "IN LONGCLICK", Toast.LENGTH_SHORT).show();
return false;
}};


longClickedItem = -1;

}

最佳答案

在这里使用 Handler 的概念。

Step1声明一个常量

private static final byte UPDATE_LIST = 100;

Step2 调用按钮点击处理程序

 OnItemLongClickListener itemDelListener = new OnItemLongClickListener(){

//@Override
public boolean onItemLongClick(AdapterView<?> parent, View arg1,
int position, long arg3) {
// TODO Auto-generated method stub
itemSelected=parent.getItemAtPosition(position).toString();

adapter.remove(itemSelected);


Message msg = new Message();
msg.what = UPDATE_LIST;
msg.arg1 = position
updateListHandler.sendMessage(msg);
Toast.makeText(listmodified.this, "IN LONGCLICK", Toast.LENGTH_SHORT).show();
return false;
}};

Step3定义处理程序

private Handler updateListHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case UPDATE_LIST:
int position = msg.arg1;
list.remove(position);
adapter.notifyDataSetChanged();
break;

}
;
};
};

请参阅我在 How to update UI of listview 中的回复

关于android - 如何使用 onLongPress 适配器删除列表项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6386430/

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