我正在開發一個帶有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 –