由于片段代码中带有recyclerview适配器的空指针,我的应用程序崩溃了。我使用此适配器生成卡片视图列表但无法找出导致此空指针的确切原因。在龙头类中设置适配器r.setAdapter(rA)时会发生日志。
片段代码
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
v = inflater.inflate(R.layout.faucetcards, container, false);
r = (RecyclerView) getActivity().findViewById(R.id.feedRecyclerView);
rA = new RecyclerAdapter(generateCards());
lm = new LinearLayoutManager(getActivity());
r.setAdapter(rA);
r.setLayoutManager(lm);
return v;
}
更新
我的错误是r或设置适配器。即使rA不为空,也会出现空指针
答案 0 :(得分:3)
r.set adapter(rA)处的Nullpointer发生,因为r为null。
r为null的原因是您试图在Fragment的父Activity中找到RecyclerView。但是RecyclerView包含在Fragment的布局中,你在onCreateView方法中膨胀并存储在v中。所以你应该做的是:
r = (RecyclerView) v.findViewById(R.id.feedRecyclerView);