0

私はクラスの人がいます

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をフォーマットを含むstring[]に変換する方法FirstName + "," + "LastName"

ループすることはできますが、アダプターを使用しようとしましたが、ダイアログに表示されなかったため、それを行うための良い方法または簡単な方法はありますか?

4

2 に答える 2

2

次のようにではなくArrayAdapter、型を使用するようにします(また、配列の代わりに渡すだけです)。personStringArrayList<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;
        }

    }
于 2012-07-01T10:25:53.210 に答える
0

カスタムアダプタを使用することをお勧めします。ここでは、ArrayListをStringArrayListに変換する必要はありません。配列リストの位置を介してデータを設定できます。

リンク

ありがとう

于 2012-07-01T10:20:49.197 に答える