簡單來說就是, AdapterView
不能設(shè)置Click事件,看下Spinner源碼,確實是繼承自 AdapterView
。(至于為什么 AdapterView
不能設(shè)置Click事件,這個暫未深究。)
4. 那我們就設(shè)置Touch事件嘍:
spnLanguages.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: showMessage("Touch Spinner"); break; } return false; }});
這下確實是可以響應(yīng)點擊事件了,但是響應(yīng)完,下拉選擇就直接顯示出來了,無法滿足我們的需求。
而且Spinner還有個問題,一進入界面的時候,默認(rèn)就會選擇第一項,而我們并不需要這樣的默認(rèn)值。