亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

以編程方式設置微調器的選定項目

以編程方式設置微調器的選定項目

慕絲7291255 2019-10-06 11:05:50
我正在開發一個android項目,正在使用一個微調器,該微調器使用從數據庫填充的數組適配器。我找不到從列表中以編程方式設置所選項目的方法。例如,如果在微調器中我具有以下各項:第1類2類第3類創建屏幕時,我將如何以編程方式將Category 2選為所選項目。我以為它可能類似于c#IE Spinner.SelectedText =“ Category 2”,但似乎沒有任何類似于Android的方法。
查看完整描述

4 回答

?
互換的青春

TA貢獻1797條經驗 獲得超6個贊

使用以下內容: spinnerObject.setSelection(INDEX_OF_CATEGORY2)。


查看完整回答
反對 回復 2019-10-06
?
蝴蝶不菲

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);


查看完整回答
反對 回復 2019-10-06
?
江戶川亂折騰

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(在這里查看答案)


查看完整回答
反對 回復 2019-10-06
  • 4 回答
  • 0 關注
  • 367 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號