два действия в одной кнопке android слушателя onlongclick

Я очень новичок в разработке Android, и я только начал учиться. Так что извините за этот простой вопрос.

Когда я долго нажимаю кнопку, она успешно передает строку, но когда я отпускаю кнопку, она не передает вторую строку... пожалуйста, дайте мне знать, в чем проблема.


person user2189622    schedule 08.04.2013    source источник
comment
Что именно вы хотите сделать?   -  person krishna    schedule 08.04.2013
comment
Возможно, вы возвращаете false в onlongClick.. return true   -  person Pragnani    schedule 08.04.2013
comment
Вставьте свой код, чтобы пользователи могли понять, где вы допустили ошибку, и посетите stackoverflow.com/questions/4987670/ для получения дополнительной информации   -  person    schedule 08.04.2013


Ответы (2)


Привет, вы можете использовать то, что @pervez иначе вы можете использовать ToggleButton, например, вы можете использовать вот так.

    ToggleButton myButton=(ToggleButton)findViewById(R.id.myToggle);
    myButton.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v){
    if(myButton.isChecked()){
    doYourMethod1();
    }else{
    doYourMethod2();
}
    });
person Abhijit Chakra    schedule 08.04.2013
comment
сэр, мой вопрос: когда я нажимаю (удерживаю) прослушиватель длинного клика, он передает строку/текст (начало), а когда я отпускаю эту кнопку, он передает другую строку (стоп) - person user2189622; 08.04.2013

Длительное нажатие срабатывает только один раз. Используйте onTouchListener, если вы хотите, чтобы два события запускались одно в ACTION_DOWN, а другое в ACTION_UP.

РЕДАКТИРОВАТЬ: используйте это, только если вы хотите, чтобы два события запускались: одно, когда пользователь касается представления, а другое, когда пользователь убирает палец с представления. Код может быть таким...

textView.setOnTouchListener(new onTouchListener)
{
@Override
    public boolean onTouch(View v, MotionEvent event) {


        switch (event.getAction()){
        case MotionEvent.ACTION_DOWN:
            Log.d("DOWN","DOWN");
        break;

        case MotionEvent.ACTION_MOVE:
            Log.d("MOVE","MOVE");
        break;

        case MotionEvent.ACTION_UP:
        break;
        }
      return true;
}
person Parvaz Bhaskar    schedule 08.04.2013
comment
спасибо за вашу помощь. сэр, можете ли вы дать мне правильный код активности Java, потому что я не знаю о функции ACTION_DOWN ACTION_UP. - person user2189622; 08.04.2013