ListViewの各行に2行表示させるには、ListActivityをextendします。
また、かくリストのデータはmapで設定します。
TestActivity.java
package com.nekotype.test; import android.app.ListActivity; import android.os.Bundle; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.widget.SimpleAdapter; public class TestActivity extends ListActivity { Map<String, String> map = new HashMap<String, String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); setResultView(); } private void setResultView(){ List<Map<String, String>> dataList = new ArrayList<Map<String,String>>(); Map<String, String> data = new HashMap<String, String>(); data.put("title", "タイトル1"); data.put("sub", "サブ1"); dataList.add(data); data = new HashMap<String, String>(); data.put("title", "タイトル2"); data.put("sub", "サブ2"); dataList.add(data); SimpleAdapter adapter = new SimpleAdapter( this, dataList, android.R.layout.simple_list_item_2, new String[] { "title", "sub" }, new int[] { android.R.id.text1, android.R.id.text2 } ); setListAdapter(adapter); } }
main.xml
リストのIDは”@id/android:list”としましょう。
java.lang.RuntimeException: Your content must have a ListView whose id attribute is ‘android.R.id.list’
というよくわからないエラーがでます・・・。
<?xml version='1.0' encoding='utf-8'?> <LinearLayout xmlns:android='http://schemas.android.com/apk/res/android' android:layout_width='fill_parent' android:layout_height='fill_parent' android:orientation='vertical' > <ListView android:id='@id/android:list' android:layout_width='fill_parent' android:layout_height='fill_parent' ></ListView> </LinearLayout>