我在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. 在列表視圖中處理多個可點擊區域
- 2. 處理視圖上的多個手勢
- 3. Ember - 處理視圖外的點擊
- 4. 許多點擊手勢在視圖上
- 5. 在可擴展列表視圖中處理包含多個視圖的childview上的點擊事件
- 6. 多按鈕點擊處理
- 7. 在Android Widget上處理多個按鈕點擊
- 8. Vue.js處理多個點擊事件
- 9. 處理多個div的點擊
- 10. Android處理多個按鈕點擊
- 11. 單點擊處理多個http請求
- 12. 點擊事件由父視圖和子視圖處理順序
- 13. 在一個視圖上處理多個表單操作?
- 14. Ember.js 2,多點擊,多關係,如何處理多次點擊?
- 15. 在列表視圖項中的多個可點擊的視圖
- 16. 在多個組件點擊處理程序上的反應性能[單擊處理程序與每個組件的點擊處理程序]
- 17. 在SmartGWT RibbonBar上處理點擊事件
- 18. 如何在多個視圖上處理keyboardDidShow?
- 19. 在Android的ListView項目視圖中處理點擊事件
- 20. 編寫方法來處理點擊在列表視圖android
- 21. 處理imageButton在自定義列表視圖內點擊
- 22. 如何處理多個視圖
- 23. 通過AJAX處理多個視圖
- 24. 處理點擊圖像按鈕的活動列表視圖
- 25. 如何處理列表視圖中的點擊(帶圖標)?
- 26. 如何處理多個事件一次點擊多個PictureBoxes?
- 27. 在一個視圖中處理多個CALayer的繪圖
- 28. 多個圖像變化上點擊
- 29. UISplitViewController推動多個詳細視圖iPad上的按鈕點擊主視圖
- 30. Google地圖是如何在一個圖像上實現多個點擊事件處理的?
的可能的複製[快速接頭(點擊)上RecyclerView打開多個片段(https://stackoverflow.com/questions/31868874/fast-taps-clicks-on -recyclerview-opened-multiple-fragments) – Pipiks
添加您的代碼片段 – Anil