在微调器中显示项目

时间:2014-04-14 21:18:06

标签: android

我正在学习Android,我来自.net 目前我还在探索和学习基础知识。 作为一个简单的测试,我想尝试这个: - 创建一个Person类(使用字符串firstname& string lastname), - 制作一些物品 - 在微调器中显示这些

到目前为止一切顺利,但我希望看到旋转器中的名字。 我无法弄清楚它是如何工作的,你可以在哪里说: "从这些对象中,显示名字字符串"

我的班级是这样的:

public class Person {
public String FirstName;
    public String LastName;

   public Person(String firstName, String lastName){
       this.FirstName = firstName;
       this.LastName = lastName;
   }

    public String ToString()
    {
        return FirstName + " "+LastName;
    }
}

我在oncreate中的主要类:

Person p1 = new Person("Dave", "Hannes");
    Person p2 = new Person("Roos", "Gijbels");
    Person p3 = new Person("Thomas", "Beerten");
    List<Person> personenLijst = new ArrayList<Person>();
    personenLijst.add(p1);
    personenLijst.add(p2);
    personenLijst.add(p3);

ArrayAdapter<Person> personenAdapter = new ArrayAdapter<Person>(
        this,
        android.R.layout.simple_spinner_dropdown_item,
        personenLijst
);
Spinner spinner = (Spinner)findViewById(R.id.spinner);
spinner.setAdapter(personenAdapter);

1 个答案:

答案 0 :(得分:2)

如果您使用ArrayAdapter,则使用toString()方法获取每个对象的显示字符串。

来自Android documentation on ArrayList

  

但是引用了TextView,它将填充数组中每个对象的toString()。您可以添加自定义对象的列表或数组。覆盖对象的toString()方法,以确定将为列表中的项显示哪些文本。

通用ArrayAdapter是一个简单的类,如果您想更好地控制显示,可以创建自己的类ArrayAdapter

请注意,您的toString()方法有错误的大小写(我猜它很自然来自.NET)。 Java中的方法以小写字母开头:

public String toString()
{
    return FirstName; // to return only first name
}