MyI 不明白为什么我会为此得到一个编译错误:
public class Main_screen extends ListActivity {
List<Object> completeList;
private My_ArrayAdapter adapter;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
completeList = getCompleteList();
adapter = new My_ArrayAdapter(this, completeList);
setListAdapter(adapter);
}
public void doSth() {
...
}
}
在 My_ArryAdapter 中:
public class My_ArrayAdapter extends ArrayAdapter<Object> {
private final List<Object> list;
private final Activity context;
public My_ArrayAdapter(Activity context, List<Object> list) {
this.context = context;
this.list = list;
}
public void tryIt() {
context.doSth(); // <-------- THIS DOES NOT WORK, this method can not be called
}
}
请解释一下,有没有我不明白的基本知识。我只是将上下文传递到我创建的 ArrayAdapter 实例中。在这个实例中,我想访问调用者的方法。
为什么这不可能?
非常感谢!
最佳答案
试试这个:
public void tryIt() {
((Main_screen)context).doSth();
}
context 是 Activity,它没有 doSth(),但是 Main_screen 有,所以你应该转换到这个类
关于android - 从调用 Activity 创建的对象中访问调用 Activity 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8429579/