onTouch 是在 LongTouch 之后注册的

onTouch is registered right after LongTouch

我有一个 ListView,当我按住(长按)某个项目时,该项目将从列表中删除。

它正在记录触摸,而长触摸仍在发生。

这是我的代码 -

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

                Intent intent = new Intent(getApplicationContext(), MapsActivity.class);
                intent.putExtra("placeNumber", i);
                intent.putExtra("Type", "Fav");

                startActivity(intent);
            }
        });

        listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {
                Log.i("Removing", "" + favouriteLocations.get(position));
                favouriteLocations.remove(position);
                Favourites.arrayAdapter.notifyDataSetChanged();
                return false;
            }

        });

放开长按后,'phantom' 触摸出现在长按所在的项目上(新项目在列表中向上移动)并且 activity 加载就像它一样已被感动

它一度运行良好,我确定我没有更改代码。有什么想法吗?

谢谢。

您需要 return true 来自 long click listner,您也必须在 xml 中有这个 android:longClickable="true" 但是列表视图 长可以点击默认 所以根本不需要更新 xml。