我正在尝试组装一个 ArrayAdapter,这让我自己陷入了困境。我有一个构造函数 Person,它用于将人员组合到一个列表中。然后,我将 Person 类型的 ArrayList 放在一起以创建一个可读的列表。
然后,我将一个 ArrayAdapter 放在一起,以便可以在 ListView 中看到该列表,但我的代码不断收到“无法解析构造函数”的消息。
我在这个网站上尝试了无数可能的解决方案,包括尝试使用 getActivity() 或 this 代替 PeopleActivity.this,但我就是无法编译我的代码。我还尝试在 ArrayAdapter 中引用我的构造函数类,但这只会给我一个错误,它不是一个封闭类。
Person.class(构造函数)
import android.text.Editable;
public class Person {
public Person Person;
private Editable personName;
public Person(Editable a) {
personName = a;
}
public void setName(Editable personName){
this.personName = personName;
}
public Editable getName() {
return personName;
}
}
PeopleActivity - populateListView
ArrayList<Person> peoplelistv = new ArrayList<Person>();
...
private void populateListView() {
ListView list = (ListView) findViewById(R.id.peopleListView);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(PeopleActivity.this, android.R.layout.simple_list_item_1, peoplelistv);
list.setAdapter(adapter);
}
大家有什么想法吗?
谢谢
最佳答案
您正在声明 ArrayAdapter
如ArrayAdapter<String>
。但是,您传递给构造函数的第三个参数既不是 String[]
也不是List<String>
。如果您尝试包装 ArrayList<Person>
在 ArrayAdapter
,它需要是 ArrayAdapter<Person>
,不是ArrayAdapter<String>
.
关于java - 使用 ArrayAdapter 时无法解析构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29182264/