onTouch是在LongTouch之后注册的

时间:2017-05-07 10:29:09

标签: android ontouchlistener ontouchevent

我有一个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;
            }

        });

在长时间触摸后,长按一下的项目上出现“幻影”触摸(一个新项目已在列表中向上移动)并且活动加载就好像已被触摸一样。

它在某一点上运行良好,我确信我没有更改代码。有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您需要BossFight boss_fight; // This declares *and* constructs a BossFight object on the stack. return true,您必须在xml中long click listner,但列表视图默认长按所以不需要完全更新xml。