我在一个名为Pdj的Activity中有一个类。 。 。
private class ButtonListener implements View.OnClickListener {
public void onClick(View v) {
ListView myListView = (ListView)findViewById(R.id.pdjListView);
EditText screen2EditText = (EditText)findViewById(R.id.pdjEditText);
ArrayList<String> todoArrayList = new ArrayList<String>();
// array adapter to bind the array to the list view
ArrayAdapter<String> aa = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
todoArrayList);
. . .
最后一行生成构建错误“构造函数ArrayAdapter(Pdj.ButtonListener,int,ArrayList)未定义”
StackOverflow上的其他人报告了这个问题并被告知要尝试。 。 。
ArrayAdapter<String> aa = new ArrayAdapter<String>(this.getContext(),
android.R.layout.simple_list_item_1,
todoArrayList);
...但是只产生“方法getContext()未定义类型Pdj.ButtonListener”
提前致谢!!
答案 0 :(得分:3)
请在您的代码段中看到以“##”开头的评论。
private class ButtonListener implements View.OnClickListener {
public void onClick(View v) {
ListView myListView = (ListView)findViewById(R.id.pdjListView);
EditText screen2EditText = (EditText)findViewById(R.id.pdjEditText);
ArrayList<String> todoArrayList = new ArrayList<String>();
// array adapter to bind the array to the list view
// ## "this" refers to class ButtonListener, obviously, it's not a context
// ## so the compile error raised.
ArrayAdapter<String> aa = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
todoArrayList);
. . .
尝试更改您的代码,如下面的格式:
ArrayAdapter<String> aa = new ArrayAdapter<String>(YourActivity.this,
android.R.layout.simple_list_item_1,
todoArrayList);
答案 1 :(得分:0)
尝试调用TheActivityClassName.this.getContext()