2016-05-23 37 views
-1

我正在開發一個帶有RecyclerView的應用程序來顯示不同的「帖子」,每個項目都有一個類似的按鈕,它工作得很好,但我現在很難過,因爲我想展示細節如果用戶點擊該帖子,則進行單獨活動。帶按鈕的RecyclerView onItemClick

如果用戶點擊任何東西除了之類的按鈕,我該如何開始新的活動?

+0

看到我的回答@Archipel –

回答

0

試試這個,

 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) { 

    } 
} 
+0

謝謝,我已經實現,但如果我點擊我喜歡按鈕,在適配器韓元」是否也加載新的活動? – Archipel

+0

我在我的項目中有同樣的東西,然後我已經把觸摸列表添加到我的情況下的按鈕,再加上button.then項目單擊列表可以使用意圖進行新的activity.and它的完美works.You應該嘗試它 –