我正在开发一个带有RecyclerView的应用程序来显示不同的“帖子”,每个项目都有一个类似的按钮,它工作得很好,但我现在很难过,因为我想展示细节如果用户点击该帖子,则进行单独活动。带按钮的RecyclerView onItemClick
如果用户点击任何东西除了之类的按钮,我该如何开始新的活动?
我正在开发一个带有RecyclerView的应用程序来显示不同的“帖子”,每个项目都有一个类似的按钮,它工作得很好,但我现在很难过,因为我想展示细节如果用户点击该帖子,则进行单独活动。带按钮的RecyclerView onItemClick
如果用户点击任何东西除了之类的按钮,我该如何开始新的活动?
试试这个,
recycleview.addOnItemTouchListener(
new RecyclerItemClickListener(Activity, new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View v, int position) {
startActivity(new Intent(Activity,otherclass.class));
}
})
);
添加这个类,
public class RecyclerItemClickListener implements RecyclerView.OnItemTouchListener {
private OnItemClickListener mListener;
public interface OnItemClickListener {
public void onItemClick(View view, int position);
}
GestureDetector mGestureDetector;
public RecyclerItemClickListener(Context context, OnItemClickListener listener) {
mListener = listener;
mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onSingleTapUp(MotionEvent e) {
return true;
}
});
}
@Override
public boolean onInterceptTouchEvent(RecyclerView view, MotionEvent e) {
View childView = view.findChildViewUnder(e.getX(), e.getY());
if (childView != null && mListener != null && mGestureDetector.onTouchEvent(e)) {
mListener.onItemClick(childView, view.getChildAdapterPosition(childView));
}
return false;
}
@Override
public void onTouchEvent(RecyclerView view, MotionEvent motionEvent) {
}
@Override
public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
}
}
谢谢,我已经实现,但如果我点击我喜欢按钮,在适配器韩元”是否也加载新的活动? – Archipel
我在我的项目中有同样的东西,然后我已经把触摸列表添加到我的情况下的按钮,再加上button.then项目单击列表可以使用意图进行新的activity.and它的完美works.You应该尝试它 –
看到我的回答@Archipel –