Хотите реализовать функциональность кнопки возврата в базовом приложении Android WebView - PullRequest
0 голосов
/ 17 июня 2019

Я создал базовое приложение WebView, хочу добавить функцию кнопки «Назад», которая будет выводить пользователя на предыдущую страницу, а не выходить из приложения.Прикрепите код MainActivity.java к этому вопросу ниже. Я новичок в области переполнения стека и разработки для Android.

package example.com;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

    public class MainActivity extends AppCompatActivity {

        private WebView webview;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        webview =(WebView)findViewById(R.id.webView);

        webview.setWebViewClient(new WebViewClient());
        webview.getSettings().setJavaScriptEnabled(true);
        webview.getSettings().setDomStorageEnabled(true);
        webview.setOverScrollMode(WebView.OVER_SCROLL_NEVER);
        webview.loadUrl("https://www.example.com");

        }
}

Ответы [ 2 ]

1 голос
/ 17 июня 2019

@Override onBackPress() внутри вашей основной деятельности и добавьте в нее свою логику навигации. Здесь работает отрубленная

public class MainActivity extends AppCompatActivity { 

    private WebView webView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        webView = findViewById(R.id.webView);
        webView = new WebView(MainActivity.this);
        webView.loadUrl(...);

    }

    @Override
    public void onBackPressed() {
        if (webView != null && webView.canGoBack()) {
           webView.goBack();
        }else{
           //Your App exit logic here
        }
    }

}

Я надеюсь, что это будет соответствовать вашим требованиям.

0 голосов
/ 17 июня 2019

Попробуйте, надеюсь, это поможет

   @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (event.getAction() == KeyEvent.ACTION_DOWN) {
        switch (keyCode) {
            case KeyEvent.KEYCODE_BACK:
                if (mWebView.canGoBack()) {
                    mWebView.goBack();
                }
                return true;
        }

    }
    return super.onKeyDown(keyCode, event);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...