2016-02-13 80 views
0

我最近开始执行RecyclerView。我已经实现了图像和图像按钮的水平recyclerview。我想知道哪个图像或图像按钮被点击的位置。我可以在视图中水平看到六个图像。回收站中的setOnClickListener查看崩溃

应用程序崩溃以下行:

Toast.makeText(context, "You Clicked Image Button " + position, Toast.LENGTH_LONG).show(); 

实现:

@Override 
    public void onBindViewHolder(ViewHolder viewHolder, int pos) { 
     final int position = pos; 

     viewHolder.imgViewIcon.setImageResource(itemsData[position].getImageUrl()); 
     viewHolder.imgBtn.setImageResource(R.drawable.ic_close_black_24dp); 

     viewHolder.imgBtn.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       // Crashes in the following line 
       Toast.makeText(context, "You Clicked Image Button " + position, Toast.LENGTH_LONG).show(); 
       ((FrameLayout) v.getParent()).removeAllViews(); 
      } 
     }); 
    } 
+0

发表您的logcat .. –

+0

它并不显示在logcat的东西。它只是崩溃 – casillas

+0

首先它不可能不显示日志。 你的所有其他参数都是正确的。 –

回答

2

正如你说没有的logcat表示错误我只是假设你情况下是空

尝试此解决方案

if(context != null) 
    Toast.makeText(context, "You Clicked Image Button " + position, Toast.LENGTH_LONG).show(); 
else 
    Log.d("You Clicked Image Button", "Position : " + position); 
+0

任何想法下面的问题http://stackoverflow.com/questions/35377100/recyclerview-item-position-does-not-get-update – casillas

0

尝试下面的代码,希望工程

Toast.makeText(context,"item Clicked at "+getPosition(), Toast.LENGTH_LONG).show();