2015-08-22 1 views
0

Я пытаюсь установить Click Listener в свой RecyclerView, но когда я нажимаю на него, ничего не происходит.RecyclerView set Click Listener, ничего не происходит после того, как я нажимаю

Ниже приведен код моего адаптера. То, что я сделал это присоединять нажмите события внутри ViewHolder внутри моего адаптера,

Я could't найти то, что здесь не так:

public class HomeSetsViewAdapter extends RecyclerView.Adapter<HomeSetsViewAdapter.ViewHolder> { 
    private Context context; 

    // Pass in the context and posts array into the constructor 
    public HomeSetsViewAdapter(Context context, ArrayList<Post> posts) { 
     this.posts = posts; 
     this.context = context; 
    } 

    // Store a member variable for the users 
    private ArrayList<Post> posts; 

    @Override 
    public HomeSetsViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, final int viewType) { 
     // to inflate the item layout and create the holder 
     // Inflate the custom layout 
     View itemView = LayoutInflater.from(context).inflate(R.layout.layout_viewholderset, parent, false); 
     return new HomeSetsViewAdapter.ViewHolder(context, itemView); 
    } 

    // to set the view attributes based on the data 
    // Get the data model based on position 
    @Override 
    public void onBindViewHolder(ViewHolder holder, int position) { 
     Post post = posts.get(position); 
     if (position % 2 == 0) { 
      holder.getmainPic().setImageResource(R.drawable.pic3); 
     } else 
      holder.getmainPic().setImageResource(R.drawable.pic4); 
     // Set item views based on the data model 

    } 

    @Override 
    public int getItemCount() { 
     return posts.size(); 
    } 

    public class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { 
     // Your holder should contain a member variable 
     // for any view that will be set as you render a row 

     private ImageView main_pic; 
     private Context context; 

     // constructor 
     public ViewHolder(View itemView) { 
      super(itemView); 
      this.main_pic = (ImageView) itemView.findViewById(R.id.main_pic); 
      // Attach a click listener to the entire row view 
      itemView.setOnClickListener(this); 
     } 

     // constructor 
     public ViewHolder(Context context, View itemView) { 
      super(itemView); 
      this.main_pic = (ImageView) itemView.findViewById(R.id.main_pic); 
      this.context = context; 
      // Attach a click listener to the entire row view 
      itemView.setOnClickListener(this); 
     } 

     public ImageView getmainPic() { 
      return main_pic; 
     } 

     public void setmainPic(ImageView main_pic) { 
      this.main_pic = main_pic; 
     } 

     // Handles the row being being clicked 
     @Override 
     public void onClick(View v) { 
      Intent intent = new Intent(context, HomePostPagerActivity.class); 
      context.startActivity(intent); 
     } 
    } 
} 
+0

Можете ли вы опубликовать файл макета – Ramesh

ответ

0

Я не вижу файл макета пункт (layout_viewholderset.xml), но вы должны установите его корневой вид с возможностью фокусировки и щелчка, например:

android:focusable="true" 
android:clickable="true" 

 Смежные вопросы

  • Нет связанных вопросов^_^