simpleadapter と hashmap を使用して listview(4columns) を設定しました。リストビューの各列に名前を付けたいと思います。
私のリストビューは、4 つのテキストビューを持つ線形レイアウト内に表示されます。
ここで、各列の属性名を取得するために、2 つの線形レイアウトを作成しようとしました。上部の線形レイアウトには属性名を持つ 4 つのテキストビューがあり、下部の線形レイアウトには simpleadapter からのデータがあります。そして、2 つのリニア レイアウトを別のリニア レイアウト内に配置します。
そして、これは私が望むようには機能しませんでした...私はアンドロイドにかなり慣れていません。助けてください。
編集:
これが私のコードです:
public class MultiList extends ListActivity {
ListView lv;
SimpleAdapter sd;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Calendar c = Calendar.getInstance();
lv = getListView();
ArrayList<HashMap<String, String>> aList = new ArrayList<HashMap<String,String>>();
HashMap<String, String> map = new HashMap<String, String>();
map.put("Date", ""+c.get(Calendar.DATE));
map.put("Month", ""+c.get(Calendar.MONTH)+1);
map.put("Time", "" + new Date().toString());
aList.add(map);
map = new HashMap<String, String>();
map.put("Date", ""+c.get(Calendar.DATE));
map.put("Month", ""+c.get(Calendar.MONTH)+1);
map.put("Time", "" + new Date().toString());
aList.add(map);
map = new HashMap<String, String>();
map.put("Date", ""+c.get(Calendar.DATE));
map.put("Month", ""+c.get(Calendar.MONTH)+1);
map.put("Time", "" + new Date().toString());
aList.add(map);
sd= new SimpleAdapter(this, aList, R.layout.main, new String[]{"Date","Month","Time"}, new int[]{R.id.studentID,R.id.studentAge,R.id.studentName});
lv.setAdapter(sd);
// insertData();
}
私のmain.xml
<?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" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linear1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:paddingBottom="6dip"
android:paddingTop="4dip" >
<TextView
android:layout_width="90dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="student ID" />
<TextView
android:layout_width="90dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="student Age" />
<TextView
android:layout_width="90dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="student Name" />
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linear1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:paddingBottom="6dip"
android:paddingTop="4dip" >
<TextView
android:id="@+id/studentID"
android:layout_width="90dip"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<TextView
android:id="@+id/studentAge"
android:layout_width="90dip"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
<TextView
android:id="@+id/studentName"
android:layout_width="90dip"
android:layout_height="wrap_content"
android:layout_weight="1"
/>
</LinearLayout>
</LinearLayout>
問題は、各属性名 (学生 ID、学生の年齢、学生の名前) がすべての行で繰り返されることです。どうすれば修正できますか?