Toast — как правильно с ним работать?

Аналогичный код я вешаю на несколько кнопок, меняя названия самих кнопок соответственно. Тут если я зажимаю кнопку выводит текст с её описанием, но если зажимаю другую кнопку, то опять выводит предыдущее описание. В общем нажимаю на btn1 выводит btn1, нажимаю на btn2 выводит btn1, нажимаю опять на bnt2 выводит btn2.
boolean isDown = false;
    Timer timer;
    TimerTask task;
    int count;
 
    public  void start(){
        timer.schedule(task, 2,20);
    }
    public boolean onTouch(final View view, MotionEvent motionEvent) {
        switch (view.getId()){
            case R.id.imgBntAdd:
                switch (motionEvent.getAction()){
                    case MotionEvent.ACTION_DOWN:
                        timer = new Timer();
                        task = new TimerTask() {
                            public void run() {
                                if(isDown){
                                    count++;
                                }
                                 runOnUiThread(new Runnable() {
                                    public void run() {
                                        if(count >= 100){
                                            int[] pos = new int[2];
                                            btnAdd.getLocationInWindow(pos);
                                            String s = btnAdd.getContentDescription().toString();
                                            Toast t =  Toast.makeText(context, s, Toast.LENGTH_SHORT);
                                            t.setGravity(Gravity.TOP | Gravity.LEFT, btnAdd.getRight() + 5 ,pos[1] + 20 );
                                            t.show();
                                            count = 0;
                                            isDown = false;
                                        }
                                    }
                                });
                            }
                        };
                        this.isDown = true;
                        start();
                        btnAdd.setBackgroundColor(color1);
                        this.time1 = System.currentTimeMillis() / 1000;
                        break;
 
                    case MotionEvent.ACTION_UP:
                        btnAdd.setBackgroundColor(color2);
                        this.isDown = false;
                        this.count = 0;
                        this.time2 = System.currentTimeMillis() / 1000;
                        if (time1 + 1 - time2 > 0){
                        startActivityNote();
                        }
                    default:
                        break;
                }
                break;

Помогите разобраться, пожалуйста.
  • Вопрос задан
  • 2795 просмотров
Пригласить эксперта
Ответы на вопрос 3
@kirawa Автор вопроса
да не густо, я вообще не понимаю зачем вы это написали
Ответ написан
Комментировать
GavriKos
@GavriKos
@kirawa Объясните, зачем такие сложности в запуске? Может я чего то не понимаю, но к чему таймер, счетчики - это все вроде в тосте реализовано напрямую.
Ответ написан
Комментировать
@kirawa Автор вопроса
вот есть кнопка. я на нее нажимаю она подсвечивается, если я её зажал свыше секунды то включается Toast уведомление, иначе переход на другую Activity. А и отпускаю подсветка тоже изчезает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы