我在RecyclerView
內部的ImageView
上添加點擊偵聽器。我的問題是,如果用戶重複點擊ImageView
,它會打開下一個活動2-3次。任何想法如何處理它?在視圖上處理多個點擊
-2
A
回答
0
由於Pipiks說, 去款項答案,
您可以修改您的適配器是這樣的。
public class ViewHolder extends RecyclerView.ViewHolder implements
View.OnClickListener {
TextView tvTitle, tvDescription;
private long mLastClickTime = System.currentTimeMillis();
private static final long CLICK_TIME_INTERVAL = 300;
public ViewHolder(View itemView) {
super(itemView);
itemView.setClickable(true);
itemView.setOnClickListener(this);
tvTitle = (TextView) itemView.findViewById(R.id.tv_title);
tvDescription = (TextView) itemView
.findViewById(R.id.tv_description);
}
@Override
public void onClick(View v) {
long now = System.currentTimeMillis();
if (now - mLastClickTime < CLICK_TIME_INTERVAL) {
return;
}
mLastClickTime = now;
mListener.onClick(FRAGMENT_VIEW, getAdapterPosition()); // open
// FRAGMENT_VIEW
}
}
0
您可以通過使用布爾變量來處理雙擊。 當你點擊一次圖像時,你的第一個點擊代碼將工作,然後在2秒鐘之前你點擊圖像,然後雙擊被調用。
boolean double_click = false;
imageView.setOnClickListner(new OnClickListner)
{
@override
public onClick()
{
if(double_click)
{
//handle second click
Toast(context,"second click", Toast.LENGTH_SHORT).show();
}
double_click = true;
//handle first click
Toast(context,"first click", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
double_click = false;
}
}, 2000);
}
});
0
試試這個
private long mLastClickTime = System.currentTimeMillis();
private static final long CLICK_TIME_INTERVAL = 300;
@Override
public void onClick(View v) {
long now = System.currentTimeMillis();
if (now - mLastClickTime < CLICK_TIME_INTERVAL) {
return;
}
mLastClickTime = now;
mListener.onClick(FRAGMENT_VIEW, getAdapterPosition()); // open
// FRAGMENT_VIEW
}
+0
什麼是CLICK_TIME_INTERVAL? – user3913975
+0
@ user3913975檢查更新的答案 –
相關問題
- 1. Ember - 處理視圖外的點擊
- 2. 許多點擊手勢在視圖上
- 3. 在Android Widget上處理多個按鈕點擊
- 4. Android處理多個按鈕點擊
- 5. Vue.js處理多個點擊事件
- 6. 點擊事件由父視圖和子視圖處理順序
- 7. 在一個視圖上處理多個表單操作?
- 8. Ember.js 2,多點擊,多關係,如何處理多次點擊?
- 9. 在SmartGWT RibbonBar上處理點擊事件
- 10. 處理imageButton在自定義列表視圖內點擊
- 11. 處理點擊圖像按鈕的活動列表視圖
- 12. 如何處理列表視圖中的點擊(帶圖標)?
- 13. 如何處理多個視圖
- 14. 通過AJAX處理多個視圖
- 15. 如何處理多個事件一次點擊多個PictureBoxes?
- 16. 在一個視圖中處理多個CALayer的繪圖
- 17. 多個圖像變化上點擊
- 18. UISplitViewController推動多個詳細視圖iPad上的按鈕點擊主視圖
- 19. 如何在ListView中處理多個點擊?
- 20. 處理多個推送通知在Android中點擊
- 21. 在Google Analytics中將一次點擊處理爲多個事件?
- 22. 在iPhone上處理多點觸控
- 23. 視圖點擊
- 24. 處理表格視圖單元格中的點擊
- 25. 如何處理類似但不同視圖的點擊事件?
- 26. 點擊處理程序不火(局部視圖)
- 27. Android主視圖的點擊處理程序
- 28. 如何處理自定義視圖的按鈕點擊事件?
- 29. stopPropagation jQuery上的點擊處理程序
- 30. 處理按鈕上的快速點擊
的可能的複製[快速接頭(點擊)上RecyclerView打開多個片段(https://stackoverflow.com/questions/31868874/fast-taps-clicks-on -recyclerview-opened-multiple-fragments) – Pipiks
添加您的代碼片段 – Anil