[問題] spinner觸發(已解決)
板友好!
最近在練習使用 spinner時,遇到了問題,想來請教@@"
以下為程式碼:
protected void onCreate(Bundle savedInstanceState) {
...
initSpinner(1);
...
}
void initSpinner(int base){
InitStart = true;//全域變數
//tmpSpinner為全域變數
tmpSpinner = (Spinner)findViewById(R.id.spinnerBase);
ArrayAdapter<String> BaseAdapter = new ArrayAdapter<String>
(this,android.R.layout.simple_spinner_item,str);
BaseAdapter.setDropDownViewResource
(android.R.layout.simple_spinner_dropdown_item);
tmpSpinner.setAdapter(BaseAdapter);
tmpSpinner.setOnItemSelectedListener(
new BaseSpinnerSelectedListener()
);
tmpSpinner.setVisibility(View.VISIBLE);
tmpSpinner.setSelection(base);
InitStart = false;
}
class BaseSpinnerSelectedListener implements OnItemSelectedListener{
public void onItemSelected(AdapterView<?> Adapter,View View,int
Position,long ID){
if( !InitStart ){
Toast.makeText(getApplicationContext(),
InitStart?"true":"false", Toast.LENGTH_SHORT).show();
initSpinner(Position);
}
}public void onNothingSelected(AdapterView<?> arg0){
}
}
=================================
這樣的設計是因為,
我不想讓spinner在建立時,又再進入一次 initSpinner(),
所以用一個布林變數 InitStart來判斷,
但是現在出現了問題,
spinner的觸發事件是在 InitStart = false; 後面才發生,
結果就變成一直在進入 initSpinner() ...
請問我應該在什麼時候讓 InitStart = false,
才能避免這個問題呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.201.154
※ 編輯: Xavier 來自: 220.130.201.154 (06/11 15:05)
→
06/11 16:36, , 1F
06/11 16:36, 1F
→
06/11 16:36, , 2F
06/11 16:36, 2F
→
06/11 16:37, , 3F
06/11 16:37, 3F
→
06/11 16:37, , 4F
06/11 16:37, 4F
→
06/11 16:37, , 5F
06/11 16:37, 5F
→
06/11 16:38, , 6F
06/11 16:38, 6F
→
06/11 16:39, , 7F
06/11 16:39, 7F
→
06/11 16:39, , 8F
06/11 16:39, 8F