当工具栏存在时,Webview不会加载内容

时间:2017-05-26 04:06:30

标签: android webview android-toolbar

我正在构建一个应用内浏览器,需要能够从工具栏中的edittext获取输入,然后在检查url是否有效后,加载给定的网页。当我尝试这个时,我遇到了一个问题,如果工具栏存在,webview拒绝加载。但是,当工具栏不存在时,webview加载就好了。

我的活动XML:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="?attr/colorPrimary"
    android:elevation="4dp"
    android:paddingEnd="25dp">

    <EditText
        android:id="@+id/searchBox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Search or enter a URL"
        android:imeOptions="actionDone"
        android:inputType="textUri"
        android:maxLines="1" />

</android.support.v7.widget.Toolbar>

<WebView
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

和java:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.colorAccent));
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setTitle("");

final WebView webView = (WebView) findViewById(R.id.webView);
webView.loadUrl("https://www.google.com");

2 个答案:

答案 0 :(得分:0)

更改布局结构,在layout_below中添加WebView标记。您的布局结构如下:

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:paddingEnd="25dp">

<EditText
    android:id="@+id/searchBox"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Search or enter a URL"
    android:imeOptions="actionDone"
    android:inputType="textUri"
    android:maxLines="1" />

</android.support.v7.widget.Toolbar>

<WebView
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:layout_below="@+id/toolbar"
/>

另外,在webView.getSettings.setJavaScriptEnabled(true);

中添加Actvity

答案 1 :(得分:0)

Facepalm ,我正在使用LinearLayout作为我的根元素,并将方向设置为水平........