2016-05-23 50 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应该尝试它 –