如何使用ListView实现longtouch?

时间:2011-09-30 19:24:24

标签: android listview

如何在ListView中实现长触摸事件?我看到的唯一有用的MotionEvent是ACTION_DOWN和ACTION_UP(没有ACTION_STILL_DOWN事件)。

4 个答案:

答案 0 :(得分:3)

在ListActivity中实现OnItemLongClickListener接口,或者您可以使用

getListView().setOnItemLongClickListener(new OnItemLongClickListener(){})

以内在的方式

答案 1 :(得分:3)

ListActivity有一个ListView,您可以使用:

ListView lv = getListView(); 

然后你可以像这样创建一个监听器:

lv.setOnItemLongClickListener( new AdapterView.OnItemLongClickListener() { 
    @Override 
    public boolean onItemLongClick( AdapterView<?> av, View v, int pos, long id ) { 
              onLongListItemClick(v,pos,id); 
              return false; 
    } 
} ); 

然后创建处理程序方法:

protected void onLongListItemClick(v,pos,id) { 
      Log.i( TAG, "onLongListItemClick id=" + id ); 
} 

Android Developers google群组

查看此讨论

答案 2 :(得分:1)

尝试在listview上设置OnLongClickListner。 See this.

答案 3 :(得分:0)

您可以实现基本适配器或阵列适配器来修复您的问题

在适配器的getView()方法中,您将获得视图onject和视图对象,您可以设置所有事件,如click,Touch,LongTouch等。