我发现了几个与此问题类似的问题,但没有一个解决我的问题。这是我编写的代码-
DataBaseHelper dataBaseHelper;
ArrayAdapter<String> mAdapter;
ListView notesList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dataBaseHelper = new DataBaseHelper (this);
notesList = (ListView) findViewById(R.id.notesList);
loadNotesList ();
}
public void loadNotesList () {
ArrayList<String> notesList = dataBaseHelper.getNameList();
if (mAdapter == null) {
mAdapter = new ArrayAdapter<String>(this, R.layout.row, R.id.note_name, notesList);
notesList.setAdapter(mAdapter);
}
else {
mAdapter.clear();
mAdapter.addAll(notesList);
mAdapter.notifyDataSetChanged();
}
}
...
我的代码看起来就像我正在遵循的教程中的代码一样,我的代码看起来也位于正确的位置,但是我知道我遗漏了某些东西或做错了什么,因为Android Studio给了我这个错误-
Cannot resolve method 'setAdapter(android.widget.ArrayAdapter<java.lang.String>)'
有人看到我做错了什么,或者我可能需要添加或更改吗?谢谢!
最佳答案
您已经在notesList
函数中引入了局部变量loadNotesList
:
ArrayList<String> notesList = dataBaseHelper.getNameList();
将此名称更改为其他名称。