2013-03-14 7 views
5

나는 ListView을 가지고 있으며 목록에 하위 항목을 표시 할 수 없습니다 ... 둘 중 하나만 표시되지만 둘 다 표시하지는 않습니다. 아래 숫자를 제거하면 문자열 (제목)이 표시됩니다.ListView의 하위 항목 및 제목 표시

항목과 하위 항목을 모두 표시하려고합니다.

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    this.loadData(); 

    String []titles_str = titles.toArray(new String[titles.toArray().length]); 
    this.setListAdapter(new ArrayAdapter<String>(this, 
      android.R.layout.simple_list_item_2, android.R.id.text1, titles_str)); 

    Number []subtitles_str = lengths.toArray(new Number[lengths.toArray().length]); 
    this.setListAdapter(new ArrayAdapter<Number>(this, 
      android.R.layout.simple_list_item_2, android.R.id.text2, subtitles_str)); 
} 
+0

는 각 아래에 그냥 "자막"을 원하십니까를 목록 항목 또는 하위 항목을 원하십니까? – codeMagic

+1

링크를 참조하십시오 http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/ 유익한 내용을 이해합니다 – maddy

+0

각 목록 아래에 자막을 넣으려는 경우 – brodster

답변

4

"this.setListAdapter"를 두 번 사용하며 두 번째 "this.setListAdapter"만 반영됩니다.

귀하의 요구에 대한

,

1)custom arrayadapter<customObject> 
     or 
2)simpleadapter. 

1) 사용자 정의 ArrayAdapter와 사용은 확인하십시오 사용하십시오 http://devtut.wordpress.com/2011/06/09/custom-arrayadapter-for-a-listview-android/

2) SimpleAdapter 사용 :

List<Map<String, String>> data = new ArrayList<Map<String, String>>(); 
for (int i=0; i<titles_str.length; i++) { 
    Map<String, String> datum = new HashMap<String, String>(2); 
    datum.put("title", titles_str[i]); 
    datum.put("subtitle", String.valueof(subtitles_str[i])); 
    data.add(datum); 
} 
SimpleAdapter adapter = new SimpleAdapter(this, data, 
             android.R.layout.simple_list_item_2, 
             new String[] {"title", "subtitle"}, 
             new int[] {android.R.id.text1, 
               android.R.id.text2}); 
this.setListAdapter(adapter); 
+0

안녕하세요, 'SimpleAdapter'는 정적 데이터 용으로 설계되었습니다. 데이터를 업데이트해야하는 경우. 새로운 업데이트 된 내용을 위해 새로운 SimpleAdapter를 다시 만들어야 할 것입니다. – Yeung

+0

@ 예 - 예, 새로운 업데이트 된 콘텐츠를위한 새로운 SimpleAdapter를 다시 만들어야합니다. 또는 ArrayAdapter와 같은 다른 어댑터로 이동 – Vidyadhar

+0

이 하위 항목 "title"값을 얻는 방법? 예를 들어, 목록보기에서 하나의 항목을 클릭하면 하위 항목 제목을 얻고 자합니다. – Elshan