我正在学习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);
答案 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
}