ArrayAdapter(Android、noob)的生成错误
我在一个名为Pdj的活动中有一个类ArrayAdapter(Android、noob)的生成错误,android,Android,我在一个名为Pdj的活动中有一个类 private class ButtonListener implements View.OnClickListener { public void onClick(View v) { ListView myListView = (ListView)findViewById(R.id.pdjListView); EditText screen2EditText = (EditTe
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);
. . .
私有类ButtonListener实现View.OnClickListener{
公共void onClick(视图v){
ListView myListView=(ListView)findViewById(R.id.pdjListView);
EditText screen2EditText=(EditText)findViewById(R.id.pdjEditText);
ArrayList ToDoaryList=新建ArrayList();
//用于将阵列绑定到列表视图的阵列适配器
ArrayAdapter aa=新的ArrayAdapter(此,
android.R.layout.simple\u list\u item\u 1,
TODOARYLIST);
. . .
最后一行生成生成生成错误“构造函数ArrayAdapter(Pdj.ButtonListener,int,ArrayList)未定义”
StackOverflow上的其他人报告了此问题,并要求尝试
ArrayAdapter<String> aa = new ArrayAdapter<String>(this.getContext(),
android.R.layout.simple_list_item_1,
todoArrayList);
ArrayAdapter aa=新的ArrayAdapter(this.getContext(),
android.R.layout.simple\u list\u item\u 1,
TODOARYLIST);
…但这只会产生“类型Pdj.ButtonListener的方法getContext()未定义”
提前感谢!!无论这是什么活动类,请尝试调用
活动类名。this.getContext()无论这是什么活动类,请尝试调用活动类名。this.getContext()
请查看代码段中以“##”开头的注释
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);
. . .
私有类ButtonListener实现View.OnClickListener{
公共void onClick(视图v){
ListView myListView=(ListView)findViewById(R.id.pdjListView);
EditText screen2EditText=(EditText)findViewById(R.id.pdjEditText);
ArrayList ToDoaryList=新建ArrayList();
//用于将阵列绑定到列表视图的阵列适配器
//###“this”指的是类ButtonListener,显然,它不是上下文
//##因此出现了编译错误。
ArrayAdapter aa=新的ArrayAdapter(此,
android.R.layout.simple\u list\u item\u 1,
TODOARYLIST);
. . .
尝试按以下格式更改代码:
ArrayAdapter<String> aa = new ArrayAdapter<String>(YourActivity.this,
android.R.layout.simple_list_item_1,
todoArrayList);
ArrayAdapter aa=新的ArrayAdapter(YourActivity.this、,
android.R.layout.simple\u list\u item\u 1,
TODOARYLIST);
请查看代码片段中以“##”开头的注释
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);
. . .
私有类ButtonListener实现View.OnClickListener{
公共void onClick(视图v){
ListView myListView=(ListView)findViewById(R.id.pdjListView);
EditText screen2EditText=(EditText)findViewById(R.id.pdjEditText);
ArrayList ToDoaryList=新建ArrayList();
//用于将阵列绑定到列表视图的阵列适配器
//###“this”指的是类ButtonListener,显然,它不是上下文
//##因此出现了编译错误。
ArrayAdapter aa=新的ArrayAdapter(此,
android.R.layout.simple\u list\u item\u 1,
TODOARYLIST);
. . .
尝试按以下格式更改代码:
ArrayAdapter<String> aa = new ArrayAdapter<String>(YourActivity.this,
android.R.layout.simple_list_item_1,
todoArrayList);
ArrayAdapter aa=新的ArrayAdapter(YourActivity.this、,
android.R.layout.simple\u list\u item\u 1,
TODOARYLIST);
谢谢!作为一个Java/Android noob,我显然不了解上下文。既然ButtonListener是在我的Activity类中定义和运行的,为什么它不从封闭类中获取上下文?…不仅如此,修复的方法是说“Pdj.this”。但在错误消息“构造函数ArrayAdapter”中(Pdj.ButtonListener…”这意味着编译器已经识别出当前类是Pdj(我的活动类)的一部分.所以,即使我的基本问题得到了回答,我还是有点困惑。Thanx你的建议非常有用谢谢!作为Java/Android noob,显然有些关于上下文的东西我没有得到。既然ButtonListener是在我的Activity类中定义和运行的,为什么它没有从封闭类中获得上下文?…不仅如此,还有修复方法是说“Pdj.this”。但在错误消息“构造函数ArrayAdapter(Pdj.ButtonListener…”中,这意味着编译器已经识别出当前类是Pdj(我的活动类)的一部分。因此,即使回答了我的基本问题,我仍然有点困惑。Thanx你的建议非常有用