【问题标题】:Cannot resolve constructor when using ArrayAdapter使用 ArrayAdapter 时无法解析构造函数
【发布时间】:2015-03-21 19:41:05
【问题描述】:

我正试图将一个 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);
        }

各位有什么想法吗?

谢谢

【问题讨论】:

    标签: java android arraylist android-arrayadapter


    【解决方案1】:

    您将ArrayAdapter 声明为ArrayAdapter&lt;String&gt;。但是,您传递给构造函数的第三个参数既不是String[],也不是List&lt;String&gt;。如果您尝试将ArrayList&lt;Person&gt; 包装在ArrayAdapter 中,则它必须是ArrayAdapter&lt;Person&gt;,而不是ArrayAdapter&lt;String&gt;

    【讨论】:

    • 非常感谢,我多么想念我不知道的,救命稻草!
    猜你喜欢
    • 2015-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    相关资源
    最近更新 更多