Recycler View Crashes中的setOnClickListener

时间:2016-02-13 06:48:32

标签: android

我最近开始实施RecyclerView。我已经使用图像和图像按钮实现了水平回收视图。我想知道点击哪个图像或图像按钮的位置。我能够在视图中水平看到六个图像。

应用程序在以下行中崩溃:

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();
            }
        });
   }

2 个答案:

答案 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);

答案 1 :(得分:0)

尝试以下代码,希望它有效

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