在我的应用程序中,当触摸列表视图时,我需要打开一个图像,当调用 Action_UP 时,我需要释放图像。这里我的问题是,我需要在 5 秒后按下项目,然后我会打开图像,但是当我使用 onTouch 时事件只是我触摸列表视图图像将打开。我需要增加触摸事件的时间请任何人帮助我吗?
提前致谢。
在我的应用程序中,当触摸列表视图时,我需要打开一个图像,当调用 Action_UP 时,我需要释放图像。这里我的问题是,我需要在 5 秒后按下项目,然后我会打开图像,但是当我使用 onTouch 时事件只是我触摸列表视图图像将打开。我需要增加触摸事件的时间请任何人帮助我吗?
提前致谢。
在适配器类中的 ListView 的 onItemClickListener 中放置一个处理程序(在 getView 函数中):
row.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
}
}, 5000);
}
});
注意:不要在 listview 上设置 OnItemClickListener()。
您可以通过在列表适配器中做一些技巧来实现这一点。
转到您的列表适配器并在 getView() 方法中。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
convertView.setOnLongClickListener(new OnLongClickListener() {
//your code
@Override
public boolean onLongClick(View arg0) {
//do your code to open image.
return true;
}
});
return convertView;
}
您可以使用setOnItemLongClickListener()
列表视图。下面给出一个例子:
lv.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int pos, long id) {
// TODO Auto-generated method stub
Log.v("long clicked","pos"+" "+pos);
return true;
}
});
我认为这会有所帮助...
您可以使用GestureDetector。只需声明一个新的 GestureDetector 并在 onTouchEvent 方法中通过 EventType 创建一个 switch 子句。如果是 ACTION_DOWN 打开一个图像,如果是 ACTION_UP 则释放它