【问题标题】:Navigation drawer to open different webviews导航抽屉打开不同的网页视图
【发布时间】:2014-10-03 23:35:16
【问题描述】:

使用 Android 我遇到了这个问题:如何使导航抽屉菜单列表为每个列表项打开一个 webview 以及如何在没有点击任何列表项时加载默认 webview?

我已经构建了应用程序的布局。我有抽屉,我有操作栏,我必须拥有应该加载不同 URL(由抽屉列表项管理)的 web 视图。

在 Main.java(主要活动 java 文件)中,我放了如下内容:

    String myUrl = "http://www.mywebsite.com";

    WebView myWebView = (WebView) this.findViewById(R.id.webView);
    myWebView.getSettings().setJavaScriptEnabled(true);
    myWebView.loadUrl(myUrl);

我看到的是什么 :(

此外,关于如何让单个 drwer 列表项更改 webview 中的 URL,我几乎没有线索。 还是我不应该那样做?

任何帮助、建议、教程将不胜感激。 谢谢。

【问题讨论】:

  • 不管怎样,项目编译正确,所以代码没有错误。

标签: java android android-webview navigation-drawer


【解决方案1】:

我有应该加载不同的 web 视图对我来说必须是什么 URL(由抽屉列表项管理)。

查看NavigationDrawer 的培训部分,它看起来像这样:

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- The main content view -->
    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
    <!-- The navigation drawer -->
    <ListView android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp"
        android:background="#111"/>
</android.support.v4.widget.DrawerLayout>  

如您所见,实际的滑动菜单是ListView。因此,在您的 MainActivity 中,您将做两件事:

  1. 为此ListView设置适配器
  2. 设置onItemClickListener

每当点击一个项目时,您将更改您在WebView 中加载的 URL。

当没有列表项时如何加载默认的 webview 轻拍?

在您的MainActivity 中,只需加载默认 URL,简单。

【讨论】:

  • 我使用 AndroidStudio 作为 IDE 有什么不同吗?
  • 在我的主要活动中,我有String myUrl = "http://www.mywebsite.com"; WebView myWebView = (WebView) findViewById(R.id.webView); myWebView.getSettings().setJavaScriptEnabled(true); myWebView.loadUrl(myUrl);,但没有任何反应。
【解决方案2】:

在 android 开发者网站上有一个非常简单和有用的例子,Creating a Navigation Drawer。请浏览示例代码。在该代码中,他们根据导航抽屉列表的项目点击加载不同的行星图像。据我了解,您需要完全相同的功能。您想加载不同的 url,而不是行星图像。

【讨论】:

  • 我会检查的。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多