Yao*_*hen 5 android android-listview
我已经四处寻找并且没有提出解决方案(可能没有使用正确的关键字).
所以,我有一个自定义ListView,当项目被长按时,它的项目可以被拖动.在其项目中,有一个包含两个TextView的ImageView和LinearLayout.单击LinearLayout或ImageView时将执行操作.
为此,我在DragListView上使用setOnItemLongClickListener,它扩展了ListView,启动了拖动操作,而onInterceptTouchEvent则用于管理拖动操作.
然后,我构建了一个扩展BaseAdapter的自定义适配器,并覆盖其getView()以实现行中的子项.LinearLayout和ImageView已经被setOnClickListener.
问题是,LinearLayout和ImageView能够完成它们的工作,但是没有调用onItemLongClick.
getView()中的监听器;
holder.delete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//Do something
}
Run Code Online (Sandbox Code Playgroud)
对于项目长按(拖动启动器)
setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view,
int position, long id) {
//Do something
}
Run Code Online (Sandbox Code Playgroud)
非常感谢你!
我认为手势检测器是处理事件的方法之一。然而,通常,当我们想要检测手势而不是长按时,会使用手势检测器。
未调用 onItemLongClick 的原因是 onClickListener 可能会消耗触摸事件。因此,如果您想处理 onItemLongClick,请拦截触摸事件并将其分派到您想要处理的视图。
您可以通过以下链接找到更多详细信息。 http://developer.android.com/guide/topics/ui/ui-events.html
归档时间: |
|
查看次数: |
7378 次 |
最近记录: |