LayoutInflater调用inflate时取不到值
我在另一个包下写了个BaseAdapter的子类,在getView方法中调用inflate方法,layout的值取不到
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null){
convertView=inflater.inflate(R.layout.list_element, null);
}
}
说list_element cannot be resolved or is not a field.我在layout文件夹下已经写了list_element.xml布局文件了,而且R类里也有list_element这个静态常量了,可他就是取不到。
我发现,我把这个类写成某个Activity的内部类的时候,就可以取到了,这是为什么呢?我看其他人的源码都是可以写在其他类里的。
--------------------编程问答-------------------- 因为你的context生命周期,当你是内部类时,context还存在,所以你可以用inflate()方法,但是如果在另外一个包得话,你的context已得不到 --------------------编程问答--------------------
但是我在同一个包下,不同的类文件里也取不到值。
别人写的代码里,这样做就不会报错。 --------------------编程问答-------------------- 你的inflater没有初始化。
加上: LayoutInflater inflater = getLayoutInflater(); --------------------编程问答-------------------- 我也遇到这个问题了,我是在自定义组件时遇到的,我写了一个类继承了linearlayout这个类,然后再类里LayoutInflater.from(context).inflate(R.layout.customcomponent, null)时,提示我customcomponent cannot be resolved or is not a field,同求解 --------------------编程问答-------------------- 应该不会这样子,请贴出有问题的那个类
补充:移动开发 , Android