微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 将图像从drawable设置为recyclerview

我想在底部导航片段中实现RecyclerView,其中包含带有TextView和ImageView的CardView.我在每张打开新活动的卡上都有一个onClickListener.但我的recyclerview没有显示任何东西,并给出零点异常Logcat.我不知道我在这里缺少什么.

模型类

   class Data {

public int imageId;
public String txt;

Data( int imageId,String text) {

    this.imageId = imageId;
    this.txt = text;
}
}

RecyclerView适配器

    public class RecyclerViewAdapter  extends RecyclerView.AdaptertimageResource(all.imageId);
        holder.itemView.setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int position = holder.getAdapterPosition();
                final Intent intent;
                if (position == 0){
                    intent =  new Intent(context,ShowDetails.class);
                } else if (position == 1){
                    intent =  new Intent(context,AllDetails.class);
                } else {
                    intent =  new Intent(context,RecentDetails.class);
                }
                context.startActivity(intent);
            }
        });
    }

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

主要活动

     RecyclerView recyclerView;
RecyclerView.Adapter adapter;
private Listrequired empty public constructor
}

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

@Override
public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {

    // Inflate the layout for this fragment
    View rootView = inflater.inflate(R.layout.fragment_status,container,false);

    recyclerView = rootView.findViewById(R.id.recyclerView);
    recyclerView.setHasFixedSize(true);
    ArrayListlinearlayoutmanager llm = new linearlayoutmanager(getActivity());
    recyclerView.setLayoutManager(llm);
    return  rootView;
}
}

ScreenShot

最佳答案
您没有调用RecyclerViewAdapter构造函数

通过将此行添加到Fragment adapter = new RecyclerViewAdapter(getActivity(),data);

RecyclerViewAdapter adapter;
linearlayoutmanager llm = new linearlayoutmanager(getActivity());
recyclerView.setLayoutManager(llm);
adapter = new RecyclerViewAdapter (getActivity(),data);
recyclerView.setAdapter(adapter);
adapter.notifyDataSetChanged();
return rootView;

原文地址:https://www.jb51.cc/android/430195.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐