我正在使用listview來處理項目,但我遇到了一些小問題。我使用SimpleAdapter這樣我就可以改變我的ListView的看法,但它表明只有最後element.Here是代碼:Android ListView只顯示最後一個項目
private ArrayList <HashMap<String, Object>> items;
private final String TIME = "";
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.plovdiv);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
ListView schedule = (ListView) findViewById(R.id.pld_schedule);
items = new ArrayList<HashMap<String,Object>>();
HashMap<String, Object> hm = new HashMap<String, Object>();
hm.put(TIME, "06:00");
items.add(hm);
hm.put(TIME, "06:30");
items.add(hm);
hm.put(TIME, "07:00");
items.add(hm);
hm.put(TIME, "07:30");
items.add(hm);
hm.put(TIME, "08:00");
items.add(hm);
hm.put(TIME, "09:15");
items.add(hm);
hm.put(TIME, "10:00");
items.add(hm);
hm.put(TIME, "10:45");
items.add(hm);
hm.put(TIME, "11:30");
items.add(hm);
hm.put(TIME, "12:15");
items.add(hm);
hm.put(TIME, "13:00");
items.add(hm);
hm.put(TIME, "13:45");
items.add(hm);
hm.put(TIME, "14:30");
items.add(hm);
hm.put(TIME, "15:15");
items.add(hm);
hm.put(TIME, "16:00");
items.add(hm);
hm.put(TIME, "16:30");
items.add(hm);
hm.put(TIME, "17:00");
items.add(hm);
hm.put(TIME, "17:30");
items.add(hm);
hm.put(TIME, "18:00");
items.add(hm);
hm.put(TIME, "18:40");
items.add(hm);
hm.put(TIME, "19:30");
items.add(hm);
hm.put(TIME, "20:00");
items.add(hm);
hm.put(TIME, "20:40");
items.add(hm);
hm.put(TIME, "21:40");
items.add(hm);
hm.put(TIME, "22:30");
items.add(hm);
SimpleAdapter adapter = new SimpleAdapter(this, items, R.layout.main_listview,
new String[]{TIME}, new int[]{ R.id.text});
schedule.setAdapter(adapter);
schedule.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
}
這裏是plovdiv.xml:
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF">
<DigitalClock
android:id="@+id/clock"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:textSize="40dp"
android:textColor="#000000"
android:textStyle="bold"
android:layout_centerHorizontal="true"/>
<ListView
android:id="@+id/pld_schedule"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/clock"
android:cacheColorHint="#FFFFFF" />
</RelativeLayout>
這是main_listview.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#FFFFFF">
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="45dp"
android:textColor="#000000"
android:textStyle="bold"
android:layout_alignParentLeft="true" />
</RelativeLayout>
結果我得到一個列表視圖,只有最後一項補充道:22:30
。 任何想法如何解決這個問題?
我改時間縮短到只有字符串,仍然只有最後item.Actually我之前使用的代碼,但在聲明並沒有像這樣的問題。 –
檢查我編輯的答案。 –