Я сделал кнопку возврата для своего веб-просмотра, но у меня возникла проблема. Когда я нажимаю на нее больше времени (например, 5/6), она возвращается на главную страницу, но более поздняя кнопка работает как с задержкой, поэтому я нахожусь на какой-то странице, и мое приложение возвращается. Можно ли ограничить нажатие кнопки одним щелчком на странице?

Спасибо.

Button przycisk_powrot = (Button) findViewById(R.id.przycisk_powrot);
        przycisk_powrot.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();


            }
        }); 
0
KBN Pliki 20 Май 2021 в 08:35

2 ответа

Лучший ответ

Вы можете установить состояние кнопки как включено / выключено - и можете сделать такую ​​проверку:

backButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
     if (webView.canGoBack()) {
         webView.goBack();
// Now check is it still can go back, ?
           backButton.setEnabled(webView.canGoBack());
           backButton.setAlpha((float)1.0);
     }
     else {
           backButton.setEnabled(false);
// Also make the button little dim, so will show to user that it is currently in disabled state
           backButton.setAlpha((float)0.5);
     }
}
});

Наслаждаться..!

0
hafiza 20 Май 2021 в 06:09
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (keyCode) {
            case KeyEvent.KEYCODE_BACK:
                if (myWebView.canGoBack()) {
                    myWebView.goBack();
                } else {
                    finish();
                }
                return true;
        }

    }
    return super.onKeyDown(keyCode, event);
}
0
G.Ronak 20 Май 2021 в 05:47