2016-02-13 79 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();