我有一個從數據庫填充的微調框。因此,如果單擊微調框時沒有任何項目,將顯示一個空列表項目的微調控件。我想避免在微調控件空白時顯示微調控件,並顯示一個Toast消息。我有邏輯來檢查項目的計數並顯示吐司消息,但我找不到調用函數的位置。單擊微調器並加載微調項目時調用的事件是什麼?當一個android微調框爲空時顯示一個烤麪包信息
回答
Spinner
打算什麼的View
子類,因此,View.setOnClickListener()
可以用來改變onClick()
實現點擊時將被調用。您可以覆蓋onClick()
以檢查Spinner
是否爲空,然後顯示Toast
。
更正:
既然你不能setOnClickListener
爲Spinner
,您可以使用該解決方案建議在此question(其中我已經粘貼下面的內容)。
不是設置微調器的OnClickListener,而是設置OnTouchListener和OnKeyListener。
spinner.setOnTouchListener(Spinner_OnTouch);
spinner.setOnKeyListener(Spinner_OnKey);
和聽衆:
private View.OnTouchListener Spinner_OnTouch = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
doWhatYouWantHere();
}
return true;
}
};
private static View.OnKeyListener Spinner_OnKey = new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
doWhatYouWantHere();
return true;
} else {
return false;
}
}
};
呃顯示的ror消息是'不要在AdapterView上調用setOnClickListener.You可能想要使用setOnItemClickListener',但這不適合我的目的。 – viks
爲什麼不設置onClickListener
?
Spinner s = (Spinner)findViewById(R.id.myspinner);
s.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
checkForItemCount(); //where you show your Toast if it's empty.
}
});
編輯: 我想我不會完全覆蓋你的問題,所以我嘗試了一些代碼自己。這完全適用於你。
final Spinner s = (Spinner)findViewById(R.id.spinner1); // get reference
ArrayList<String> mList = new ArrayList<String>(); //some list without items
s.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, mList));
s.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP && mList.size() == 0) {
toast("Empty"); //lazy method for toasting
s.setPressed(false); //closes the spinner.
}
return true;
}
});
這是當選擇一個項目時,如果這就是你要求的功能。如需更多幫助,您需要發佈您的代碼。否則,我們不知道你有
spinner.setOnItemSelectedListener(new OnItemSelectedListener()
不,我想避免如果計數爲0,則顯示微調項目。我必須檢查用戶何時點擊文本框,如在微調器位置顯示的視圖 – viks
- 1. 從微調框顯示烤麪包時的上下文錯誤
- 2. Android烤麪包不顯示
- 3. 選擇微調項目時顯示烤麪包
- 4. 從相機識別文本時顯示烤麪包信息
- 5. 微調列表顯示時,按微調但列表項不顯示,但沒有顯示在烤麪包
- 6. Android微調器檢索值顯示爲烤麪包,但無法繼續使用?
- 7. 當我從另一個主視圖返回時,不會顯示Android微調框
- 8. Android如烤麪包的WinForms消息框?
- 9. 我想烤麪包時的消息要顯示當Android的鬧鈴響鈴
- 10. 當JSONArray給出一個空值時顯示一個文本 - android
- 11. AngularJS,烤麪包機如何殺死一個烤麪包機
- 12. 如何在Angularjs中顯示烤麪包機信息?
- 13. Android:無法顯示烤麪包
- 14. Android烤麪包沒有顯示
- 15. 如何顯示從一個活動到另一個活動的烤麪包
- 16. 如何在一個烤麪包中顯示一個html/php代碼
- 17. WPF - 當下一個頁面顯示時,屬性爲空
- 18. 無法顯示烤麪包
- 19. 當我點擊一個微調項目時,它會顯示一個ListView
- 20. 在烤麪包上顯示時間戳
- 21. Android:在烤麪包上顯示消息和聯繫人
- 22. 如何從第一個微調到第二微調在android中的信息?
- 23. 微調烤箱吐司不顯示
- 24. 微調空間一個NSString
- 25. 顯示()/隱藏()把一個busyloading微調
- 26. 顯示一個開放的微調
- 27. 取消先前顯示的烤麪包之前顯示新的烤麪包
- 28. 當我在一個按鈕上初始化兩個功能(退出應用程序並顯示烤麪包)時,退出烤麪包不起作用
- 29. 一次顯示最多一個信息框(谷歌地圖v3)
- 30. Google地圖V3 - 一次只允許顯示一個信息框
我添加了一些代碼,對我來說它的工作原理完全。 – stealthjong