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/

相关文章:

android - android中的谷歌浏览器动画效果

android - 如何设置动态膨胀 View 中包含的按钮文本?

Java - KeyListener 的线程导致并发修改。解决方案?

java - 什么时候调用 spring beans 销毁方法?

java - 如何在 JSP 中访问 WEB-INF 中的文件?

Java (Netbeans) - 如何在 if 语句中编写 "access denied"代码,我尽了最大努力,但没有成功..?

android - 如何在android中为形状制作3边的笔触?

java - 如何对内容进行分组并将其作为一个对象添加到 ArrayList 中?

java - 如何将空 arrayList 添加到从类创建的另一个 arrayList

java - 将通用 ActionListener 添加到许多 JButtons 或 JComponents 或 JTextFields