我在下面的片段膨胀中得到NullPointerException。
public View onCreateView(LayoutInflater inf, ViewGroup parent, Bundle savedInstanceState) {
View v = inf.inflate(R.layout.fragment_featured, parent, false);
CardView cardView = (CardView) v.findViewById(R.id.cardView1);
cardView.setOnCardClickListener(this); //Error in this row!
cardView.setItemSpace(Utils.convertDpToPixelInt(getActivity(),20));
MyCardAdapter adapter = new MyCardAdapter(getActivity());
adapter.addAll(initData());
cardView.setAdapter(adapter);
FragmentManager manager = getActivity().getSupportFragmentManager();
frag = new TestFragment();
manager.beginTransaction().add(R.id.contentView, frag).commit();
return v;
}
答案 0 :(得分:1)
如果单击时显示null,则表示该视图中不存在该ID,因此您可能为该片段填充了错误的布局。
答案 1 :(得分:0)
当你从不存在的java代码指向xml文件中的视图id时,会发生这种类型的错误。解决此错误的最简单方法,只需将java代码中的此id和xml文件中的相应id重命名为其他内容即可。这肯定会对你有帮助。
答案 2 :(得分:0)
最有可能在这一行:
"@
cardView为null,表示此行:
cardView.setOnCardClickListener(this); //Error in this row!
R.id.cardView1要么不存在,要么拼错了cardView1。
发布视图的xml代码。