使用回收器适配器获取空指针
Getting null pointer with recycler adapter
我的应用程序由于片段代码中的 recyclerview 适配器的空指针而崩溃。我正在使用此适配器生成卡片视图列表,但无法找出导致此空指针的确切原因。在水龙头 class.
中设置适配器 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 不为空
r.set 适配器 (rA) 处出现空指针,因为 r 为空。
r 为 null 的原因是您试图在 Fragment 的父级中找到 RecyclerView Activity。但是 RecyclerView 包含在 Fragment 的布局中,您在 onCreateView 方法中将其膨胀并存储在 v 中。因此您应该做的是:
r = (RecyclerView) v.findViewById(R.id.feedRecyclerView);
我的应用程序由于片段代码中的 recyclerview 适配器的空指针而崩溃。我正在使用此适配器生成卡片视图列表,但无法找出导致此空指针的确切原因。在水龙头 class.
中设置适配器 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 不为空
r.set 适配器 (rA) 处出现空指针,因为 r 为空。
r 为 null 的原因是您试图在 Fragment 的父级中找到 RecyclerView Activity。但是 RecyclerView 包含在 Fragment 的布局中,您在 onCreateView 方法中将其膨胀并存储在 v 中。因此您应该做的是:
r = (RecyclerView) v.findViewById(R.id.feedRecyclerView);