我曾多次使用RecyclerView
,並且還處理了點擊監聽器。但我的問題是,在RecyclerView Adapter
在哪個地方設置點擊收聽者更好,如onCreateViewHolder()
或onBindViewHolder()
或ViewHolder
類。因爲,我知道我們可以在任何地方設置我們的功能。Click RecyclelerView中的監聽器
0
A
回答
2
您可以爲您的容器視圖中的多個視圖設置點擊偵聽器,以實現各種目的。如果它是一個項目點擊監聽器添加到容器視圖最好的方法:
private final OnClickListener mOnClickListener = new MyOnClickListener();
@Override
public MyViewHolder onCreateViewHolder(final ViewGroup parent, final int position) {
View view = LayoutInflater.from(mContext).inflate(R.layout.containerViewItem, parent, false);
view.setOnClickListener(mOnClickListener);
return new MyViewHolder(view);
}
並實行onClick()
方法爲您mOnClickListener
。
+0
我知道這種類型的實現,但根據我的問題哪個更好? –
1
每次將視圖綁定到數據時,都會調用onBindViewHolder方法。所以最好的方法是在onCreateViewHolder方法中設置點擊偵聽器。
private final OnClickListener mOnClickListener = new MyOnClickListener();
@Override
public ViewHolder onCreateViewHolder(final ViewGroup parent, final int position)
{
View view = LayoutInflater.from(mContext).inflate(R.layout.recycler_list_item, parent, false);
view.setOnClickListener(mOnClickListener);
return new ViewHolder(view);
}
@Override
public void onClick(final View view) {
}
相關問題
- 1. Expandable列表視圖Child click監聽器
- 2. Android監聽器中斷監聽器
- 3. 器件監聽器
- 4. AngularJS:ng-click監聽不同的/特定的控制器
- 5. 在Android的另一個監聽器中定義監聽器
- 6. AS3:一個Click事件監聽器的兩個動作
- 7. 使用Javascript的Click and Hold事件監聽器
- 8. symfony2中的監聽器
- 9. Java中Redis的監聽器
- 10. Java - Swing中的監聽器
- 11. php中的監聽器
- 12. View中的MVC監聽器
- 13. JTextPane中的監聽器
- 14. Python中的ActiveMQ監聽器
- 15. Delphi中的TCP監聽器
- 16. Laravel監聽器監聽多個事件
- 17. TCP監聽器停止監聽
- 18. chrome.webRequest.onAuthRequired監聽器
- 19. TextChanged監聽器
- 20. Android:ListView監聽器?
- 21. AutoCompleteTextView監聽器
- 22. Checkboxpreference監聽器
- 23. CommunicationState監聽器?
- 24. FacesMessage監聽器
- 25. BitmapButtonField監聽器
- 26. addCapture in addEventListener的監聽器
- 27. listView項監聽器
- 28. Highslide(iframes的監聽器)
- 29. 單擊ExtJS中的事件/監聽器
- 30. Angular2主機監聽器
http://stackoverflow.com/questions/24471109/recyclerview-onclick –
@sumitsingh我知道這一點,但按照我的問題是哪個地方會更好。 –