我曾多次使用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我知道这一点,但按照我的问题是哪个地方会更好。 –