今天学习使用fragment组件的时候,发现按照例子写完的程序一直报这个错误。对照代码以后发现犯了低级错误,一段代码的返回对象弄错了!!!
折腾了好久,真的是郁闷死了,来看错误的代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.menulist, container, false);
listView = (ListView) rootView.findViewById(R.id.menulist);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
mCallback.onItemSelected(position, null);
}
});
return listView;
}
看到我返回的对象了吗? onCreateView 这个方法是要返回 layout 布局VIew对象才正确的,但是我返回成了 listView 组件对象,所以报错。
希望大家以后抄写代码的时候一定要细心,否则真的是要命啊!
另外网上一大堆说你的这个方法里 parent 没有执行removeView()方法的。我感觉这个错误的出现概率比较低,报这个错,不一定是这个问题,还是看看别的原因吧。