4 回答

TA貢獻1810條經驗 獲得超4個贊
public static void selectSpinnerItemByValue(Spinner spnr, long value) {
SimpleCursorAdapter adapter = (SimpleCursorAdapter) spnr.getAdapter();
for (int position = 0; position < adapter.getCount(); position++) {
if(adapter.getItemId(position) == value) {
spnr.setSelection(position);
return;
}
}
}
您可以像上面這樣使用:
selectSpinnerItemByValue(spinnerObject, desiredValue);
&當然,您也可以直接按索引選擇,例如
spinnerObject.setSelection(index);

TA貢獻1851條經驗 獲得超5個贊
一些解釋(至少對于Fragments-從未嘗試使用純Activity)。希望它可以幫助某人更好地了解Android。
阿倫·喬治 (Arun George)最受歡迎的答案是正確的,但在某些情況下不起作用。Marco HC使用Runnable
的答案是最后的手段,因為它會增加CPU負載。
答案是-你應該簡單地選擇正確的地方打電話到為setSelection() ,例如,它的工作對我來說:
@Override
public void onResume() {
super.onResume();
yourSpinner.setSelection(pos);
}
但是它在onCreateView()中不起作用。我懷疑這是引起該主題興趣的原因。
秘密是,在Android中,您無法以任何方法執行任何操作-oops :(-組件可能尚未準備就緒。作為另一個示例-您無法在onCreateView()和onResume()中都無法滾動ScrollView(在這里查看答案)
- 4 回答
- 0 關注
- 367 瀏覽
添加回答
舉報