Android 安卓-点击网络视图会使AppBar消失。

Android 安卓-点击网络视图会使AppBar消失。,android,webview,appbar,Android,Webview,Appbar,我正在尝试在我的应用程序中允许WebView调用。在这个调用中,他们应该能够浏览到另一个页面。我还试图为应用程序保持一致的AppBar 我将.xml定义为: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:la

我正在尝试在我的应用程序中允许WebView调用。在这个调用中,他们应该能够浏览到另一个页面。我还试图为应用程序保持一致的AppBar

我将.xml定义为:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context="com.realpayment.app.activities.CalledAction"
android:background="@color/c_black">

<android.support.v7.widget.Toolbar
    android:id="@+id/my_toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:elevation="4dp"
    android:theme="@style/JupiterTheme"
    app:popupTheme="@style/ThemeOverlay.AppCompat"/>
<WebView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/calledAction"
    android:background="@color/c_black"
    android:layout_margin="15px"
    android:layout_below="@+id/my_toolbar"
    android:textColor="@color/c_white"
    />
这将完美加载链接,并显示我的操作栏。“向上”按钮将我带到父活动,而“后退”按钮将我带到最后一个名为的活动。我的问题是,如果我点击一个链接,它会打开一个新的屏幕,屏幕上有自己的AppBar,但没有向上按钮。这似乎是一个完全不同的观点。后退按钮仍然有效,但我的计划是提供一个向上按钮,以便用户可以浏览她想要的两个屏幕,然后点击向上按钮返回到我的应用程序中的合理位置。在这种情况下,唯一的办法似乎是反复按下后退按钮


提前感谢

如果您设置了
WebView客户端

对于API 24+,请重写此方法

browser.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
            view.loadUrl(request.getUrl().toString());
            return false;
        }
    });
如果您支持API<24,则使用旧方法

browser.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return false;
        }
    });

因此,您希望在自己的
WebView
中打开该链接?是的,我希望。有理由不这样做吗?我刚刚发现WebView是出于浏览器目的,不再出现在我的应用程序中。谢谢!但是,该调用已被弃用。不过,我应该能够使用shouldOverrideUrlLoading(WebView视图、WebResourceRequest请求)。它似乎有一些诡计,但它应该会起作用。@DanielleCox,实际上这取决于您的目标API。我将添加这两种方法。
browser.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return false;
        }
    });