У меня есть группа просмотра, которая позволяет пользователям прокручивать 3 WebViews
(раскладки) так же, как на главном экране Android. Проблема возникает, когда пользователь нажимает кнопку «Назад», чтобы вернуться к отображаемой в данный момент истории WebView. Что происходит, так это то, что история вернется к тому, какое из трех представлений использовалось последним, а не к отображаемому в данный момент WebView...
Вот мой код, который вступает в силу, когда пользователь нажимает кнопку «Назад»:
int backpress = 1;
Timer timer = new Timer();
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && WebView[0].canGoBack()) {
WebView[0].goBack();
return true;
}
if ((keyCode == KeyEvent.KEYCODE_BACK) && WebView[1].canGoBack()) {
WebView[1].goBack();
return true;
}
if ((keyCode == KeyEvent.KEYCODE_BACK) && WebView[2].canGoBack()) {
WebView[2].goBack();
return true;
}
else if(keyCode == KeyEvent.KEYCODE_BACK) {
backpress = (backpress + 1);
Toast.makeText(getApplicationContext(), " Press again to exit ", Toast.LENGTH_SHORT).show();
timer.schedule(new RemindTask(), 2000);
if (backpress>2) {
finish();
}
}
return false;
}
class RemindTask extends TimerTask {
@Override
public void run() {
backpress = 1;
}}
Есть ли способ получить текущий сфокусированный WebView, чтобы я мог решить эту проблему?