我发现了几个与此问题类似的问题,但没有一个解决我的问题。这是我编写的代码-

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();


将此名称更改为其他名称。

10-01 12:45