Подтвердить что ты не робот

Подождите 3 секунды или нажмите

Я пытаюсь настроить ситуацию, когда я жду небольшой промежуток времени, скажу 3 секунды и двигаюсь дальше. Но если пользователь нажимает на мою экранную кнопку, тогда переходите, как и я. Оба события инициируют одно и то же поведение, а именно - обновлять текст на экране. Любые мысли?

Новое для Android, но mclovin 'it

Заранее спасибо

4b9b3361

Ответ 1

Попробуйте что-то вроде этого:

private Thread thread;    

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layoutxml);

    final MyActivity myActivity = this;   

    thread=  new Thread(){
        @Override
        public void run(){
            try {
                synchronized(this){
                    wait(3000);
                }
            }
            catch(InterruptedException ex){                    
            }

            // TODO              
        }
    };

    thread.start();        
}

@Override
public boolean onTouchEvent(MotionEvent evt)
{
    if(evt.getAction() == MotionEvent.ACTION_DOWN)
    {
        synchronized(thread){
            thread.notifyAll();
        }
    }
    return true;
}    

Он ждет 3 секунды, чтобы продолжить, но если пользователь коснется экрана, поток уведомляется и перестает ждать.

Ответ 2

Попробуйте следующее:

button = (Button) findViewById(R.id.buttonView);
button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Runnable clickButton = new Runnable() {
            @Override
            public void run() {
                // whatever you would like to implement when or after clicking button
            }
        };
        button.postDelayed(clickButton, 3000); //Delay for 3 seconds to show the result
}