2012-07-01 8 views
0

나는 Person 클래스변환 ArrayList를 <Class> []

class person{ 
int ID ; 
sting FirstName ; 
string Last Name ; 
String Telephone ; 

} 

이 있고 난 그냥 FirstName + "," + "LastName"

그래서 나는 다음과 같은 코드를 사용할 수 있습니다 포함한 간단한 목록보기를 표시하려면 지금

ArrayList<person> ;

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(); 

그래서 어떻게 cconv 내가 어댑터를 사용하려고하지만이 dialoge에 표시하지 못했기 때문에 ERT 문자열로 ArrayList를 []는 그 어떤 좋은 방법이나 그렇게하는 간단한 방법을 FirstName + "," + "LastName"

내가 루프 수있는 형식을 포함하지만 거기에

답변

2

은 다음과 같이 person하지 String (또한, 단지 배열 대신 ArrayList<person>을 통과) 형식을 사용하도록 ArrayAdapter 확인 person의 클래스 toString 방법 :

class person { 
     int ID; 
     String FirstName; 
     String LastName; 
     String Telephone; 

     @Override 
     public String toString() {   
      return "Whatever " + FirstName + " and Whatever " + LastName; 
     } 

    } 
+0

Wooow, 발명품처럼, 정말 빨리 나를 구해주었습니다. – AMH

+0

지금 listview가 있습니다. 목록의 항목을 클릭하면 textview로 anothe 컨트롤을 채우십시오. 항상 충돌합니다. idea – AMH

+0

@AMH 다른 질문을하고 사용하는 전체 코드와 예외가 발생한 로그를 제공해야합니다. – Luksprog

0

맞춤형 어댑터를 사용하는 것이 좋습니다. 여기서 ArrayList를 String ArrayList로 변환 할 필요가 없습니다. 배열 목록 위치를 통해 데이터를 설정할 수 있습니다.

ArrayAdapter<person> modeAdapter = new ArrayAdapter<person>(this, android.R.layout.simple_list_item_1, android.R.id.text1, theArrayList); 

하고 재정의 :

link

감사

관련 문제