我有班级人员
class person{
int ID ;
sting FirstName ;
string Last Name ;
String Telephone ;
}
我有ArrayList<person> ;
现在我想显示仅包含FirstName + "," + "LastName"
所以我可以使用像
这样的代码AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Color Mode");
ListView modeList = new ListView(this);
String[] stringArray = new String[] { "Bright Mode", "Normal Mode" };
ArrayAdapter<String> modeAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, stringArray);
modeList.setAdapter(modeAdapter);
builder.setView(modeList);
final Dialog dialog = builder.create();
dialog.show();
所以如何将ArrayList转换为包含格式FirstName + "," + "LastName"
我可以循环播放,但有没有什么好方法或简单的方法可以做到这一点,因为我试图使用适配器,但它未能出现在dialoge中
答案 0 :(得分:2)
让您的ArrayAdapter
使用person
类型,而不是String
(也就是传递ArrayList<person>
而不是数组),如下所示:
ArrayAdapter<person> modeAdapter = new ArrayAdapter<person>(this, android.R.layout.simple_list_item_1, android.R.id.text1, theArrayList);
然后覆盖person
的类toString
方法:
class person {
int ID;
String FirstName;
String LastName;
String Telephone;
@Override
public String toString() {
return "Whatever " + FirstName + " and Whatever " + LastName;
}
}
答案 1 :(得分:0)