Android 在另一个方法中调用setAdapter()不会';行不通
我想在另一个方法中,但在同一个类/活动上调用setAdapter()。但是,它给了我一个空指针异常。我有一个Listview lv=null;作为一个领域 当setAdapter()位于onCreate()内时,它会工作:Android 在另一个方法中调用setAdapter()不会';行不通,android,listview,Android,Listview,我想在另一个方法中,但在同一个类/活动上调用setAdapter()。但是,它给了我一个空指针异常。我有一个Listview lv=null;作为一个领域 当setAdapter()位于onCreate()内时,它会工作: protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new SemToGradeLoader(this).execu
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new SemToGradeLoader(this).execute();
setContentView(R.layout.activity_grade_book);
lv = (ListView) findViewById(R.id.grade_list);
reloadListView();
CustomListViewAdapter adapter = new CustomListViewAdapter(this, R.layout.list_item_grade, rowItems);
lv.setAdapter(adapter);
}
当setAdapter位于reloadListView()内时,它不工作:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
new SemToGradeLoader(this).execute();
setContentView(R.layout.activity_grade_book);
lv = (ListView) findViewById(R.id.grade_list);
reloadListView();
}
这是我的重载列表视图():
private void reloadListView(){
试一试{
rowItems=新的ArrayList();
for(int i=0;i
什么是:
new SemToGradeLoader(this).execute();
它是异步任务还是什么
从它的completed方法中,您是否试图通过调用reloadListView()来访问listview或者什么?可以发布类的完整代码和布局的代码吗?是否从类中的任何其他位置调用reloadListView?什么是
主题以及它在哪里初始化?在调用此函数之前,它似乎没有初始化。如果这不是问题,请发布logcat输出,以便我们可以请查看null
@Gaëtan在这种情况下不建议发布整个类…我们可能会得到数百行不必要的代码。从stacktrace开始,看看什么是相关的。此外,xml在这里可能没有帮助,因为ListView
在onCreate()中正确初始化
我对rowitems没有问题,在调试器中检查时,这些项已正确存储。我在setAdapter()中得到一个nullpointerexception
new SemToGradeLoader(this).execute();