Spinner OnTouchListener - PullRequest
       10

Spinner OnTouchListener

2 голосов
/ 02 июля 2019

Я пытаюсь установить OnTouchListner на spinner. Может вызывать его в настраиваемом режиме, но не может вызывать счетчик.

Также пробовал использовать MotionEvent.ACTION_DOWN. Код не работает на Spinner, но работает над CustomView-

view.setOnTouchListener(new View.OnTouchListener() {

                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    if(event.getAction()==MotionEvent.ACTION_DOWN){
                    pos=finalI;
                    Log.e("In View CLicked", "Clicked " + finalI);
                    loadVisitData();
                }

                return false;
            }
        }); 

Код не работает на Spinner-

spinDist.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if(event.getAction()==MotionEvent.ACTION_DOWN) {
                Log.e("Touch","OnTouch");
                }
                Toast.makeText ( EnquiryForm.this, "test", Toast.LENGTH_SHORT ).show();
                Log.e("Touch","OnTouch");
                return false;
            }
        });

Ответы [ 2 ]

0 голосов
/ 02 июля 2019

Вы можете использовать этот код:

spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            // get item selected
        }

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

        }

    });
0 голосов
/ 02 июля 2019

Попробуйте это для Spinner методом переопределения setOnTouchListener(),

spinDist.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if(event.getAction()==MotionEvent.ACTION_UP){
                    Toast.makeText ( EnquiryForm.this, "test", Toast.LENGTH_SHORT ).show();
              }
              return false;
          }
   });
...