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

标签 java android arraylist android-arrayadapter

我正在尝试组装一个 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);
        }

大家有什么想法吗?

谢谢

最佳答案

您正在声明 ArrayAdapterArrayAdapter<String> 。但是,您传递给构造函数的第三个参数既不是 String[]也不是List<String> 。如果您尝试包装 ArrayList<Person>ArrayAdapter ,它需要是 ArrayAdapter<Person> ,不是ArrayAdapter<String> .

关于java - 使用 ArrayAdapter 时无法解析构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29182264/

相关文章:

java - 为不同的 JUnit 测试使用不同的类加载器?

java - JMockit:如何根据构造函数中给出的参数来模拟方法?

android - 在 onListItemClick 中单独显示 HASHMAP 值

android - WifiInfo.getMacAddress() 返回 02 :00:00:00:00:00 aways in Android 6. 0 设备

java - 何时在递归中使用 ArrayList 而不是数组

java - 无法解决 YouTube 类/符号、YouTube 数据 API Java 示例问题

java - findbugs可以检测未使用的公共(public)方法吗

Java (Android Studio) - 无法使用 LocalBroadcastManager.getInstance(this)

java - 如何复制迭代器对象?

java - 在Junit测试中,如何使用assertEquals()比较两个ArrayList<Double>,是否有更好的替代方案?