iT邦幫忙

0

(問題已解決)Android Stuido關於如何刷新,抓取下拉式選單資料

做了下拉式選單

        String[] lunch ={"1","2"};    
        et2 = (Spinner)findViewById(R.id.et2);

ArrayAdapter<String> lunchList = new ArrayAdapter<>(repair.this,
                android.R.layout.simple_spinner_dropdown_item,
                lunch);et2.setAdapter(lunchList);
             

抓取下拉式選單選項內容

 num=et2.getSelectedItem().toString().trim();

資料有成功抓取.....但只能抓取一開始預設好的選項........
ex:et2選單的第一個選項是1 後面即使選擇2 抓取的內容也不會更改
雖然可以設定在button裡執行num字串,抓取新的字串內容
但希望num抓取的資料可以在選完選項的數秒內立刻刷新

只用過Handler.postDelayed刷新過,但目前一直沒法成攻

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_repair);
        ...................................................
        ...................................................
        ...................................................
        
Handler yHandler = new Handler();
        yHandler.postDelayed(runTimerStop, 1000); 
        
        ...................................................
        ...................................................
        }
        private Runnable runTimerStop=new Runnable() {
        @Override
        public void run() {
            num=et2.getSelectedItem().toString().trim();         
        }
    };   

想確認語法是否有誤資料才無法刷新,或是有其他方法能刷新資料內容

求關注 iT邦新手 5 級 ‧ 2020-03-22 19:43:03 檢舉
你是不是少這行 我也挺蔡的 希望能幫到你 我自己試試都可以拉
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
see.setText(spinner.getSelectedItem().toString());
}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
});

完整:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initDo();
}

private Spinner spinner;
private TextView see;
private String[] number ={"1","2","3"};
private void initView(){
spinner =findViewById(R.id.spinner);
see = findViewById(R.id.textView);
ArrayAdapter<String> number_list = new ArrayAdapter<>(MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,
number);
spinner.setAdapter(number_list);
}
private void initDo(){
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
see.setText(spinner.getSelectedItem().toString());
}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}
});

}
Mangma iT邦新手 5 級 ‧ 2020-03-22 21:39:38 檢舉
謝謝,本人剛接觸Android不久,放到清單後一直在想是不是需要刷新頁面或重新執行抓取的動作。
沒有想過 設定項目被選取之後的動作
問題解決了,謝謝
如果方便的話請再下方的回答上輸入些內容 我直接選最佳解答結案

尚未有邦友回答

立即登入回答