Setting a spinner onClickListener() in Android

后端 未结 7 774
不思量自难忘°
不思量自难忘° 2020-11-29 03:43

I\'m trying to get an onClickListener to fire on a Spinner, but I get the following error:

Java.lang.RuntimeException is \"Don\'t call setOnClickListe

7条回答
  •  猫巷女王i
    2020-11-29 03:55

    Here is a working solution:

    Instead of setting the spinner's OnClickListener, we are setting OnTouchListener and OnKeyListener.

    spinner.setOnTouchListener(Spinner_OnTouch);
    spinner.setOnKeyListener(Spinner_OnKey);
    

    and the listeners:

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

提交回复
热议问题