使用ArrayAdapter时无法解析构造函数

时间:2015-03-21 11:37:49

标签: java android arraylist android-arrayadapter

我正在与一个我试图拼凑的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);
        }

任何想法的人?

由于

1 个答案:

答案 0 :(得分:2)

您宣布ArrayAdapterArrayAdapter<String>。但是,传递给构造函数的第三个参数既不是String[]也不是List<String>。如果您尝试将ArrayList<Person>包裹在ArrayAdapter中,则需要ArrayAdapter<Person>,而不是ArrayAdapter<String>