我在Spinner的setSelection上遇到了一些問題。當代碼中顯示微調器時,我將該值設置爲預選,但它不起作用,列表中的第一個替代項始終處於選中狀態。代碼如下所示:Android:setSelection對Spinner沒有任何影響
LayoutInflater li = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View dialogView = li.inflate(R.layout.edit_event, null);
...
ArrayList<String> routes = new ArrayList<String>();
// routes filled with values at runtime
...
ArrayAdapter<String> aa = new ArrayAdapter<String>(GOFdroid.this, android.R.layout.simple_spinner_item, routes);
aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner destSpinner = (Spinner) dialogView.findViewById(R.id.edit_event_destination);
String dest = events.get(pos).getDestination();
int routesPos = routes.indexOf(dest);
Log.d(TAG, "Dest: " + dest + ", pos: " + routesPos);
destSpinner.setSelection(routesPos);
destSpinner.setAdapter(aa);
的代碼按預期工作除了爲setSelection部分,我只是想不通爲什麼。
微調的XML佈局看起來是這樣的(不是整個佈局,只是微調部分):
// DESTINATION
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Destination:" />
<Spinner
android:id="@+id/edit_event_destination"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:prompt="@string/choose_dest"
android:layout_marginBottom="10dip"
android:text="" />
幫助非常感謝!
萊納斯
太容易了! ;)感謝commonsware,再次爲我節省了一些時間! – aspartame 2009-09-27 21:39:19
令人驚歎!解決了我的問題! – user712051 2012-05-22 15:57:06
謝謝,在那裏爲我節省了幾分鐘;) – 2013-09-10 12:39:11