我正在与一个我试图拼凑的ArrayAdapter陷入困境。我有一个构造函数Person,用于将人们放在一个列表中。然后,我将一个Person类型的ArrayList放在一起,形成一个可读的列表。
然后我将ArrayAdapter放在一起,以便列表可以在ListView中看到,但我不断用我的代码获得“无法解析构造函数”。
我在这个网站上尝试了无数可能的解决方案,包括尝试使用getActivity()或者代替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);
}
任何想法的人?
由于
答案 0 :(得分:2)
您宣布ArrayAdapter
为ArrayAdapter<String>
。但是,传递给构造函数的第三个参数既不是String[]
也不是List<String>
。如果您尝试将ArrayList<Person>
包裹在ArrayAdapter
中,则需要ArrayAdapter<Person>
,而不是ArrayAdapter<String>
。