将ArrayList <class>转换为string [] </class>

时间:2012-07-01 10:13:59

标签: android android-dialog

我有班级人员

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"

的string []

我可以循环播放,但有没有什么好方法或简单的方法可以做到这一点,因为我试图使用适配器,但它未能出现在dialoge中

2 个答案:

答案 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)

最好使用自定义适配器。在这里,您不需要将ArrayList转换为String ArrayList。您可以通过数组列表位置设置数据。

link

由于