0

我是安卓开发新手。我想知道是否可以使用 if/else 子句语句从一项活动在资产文件夹中加载多达 20 个 html 页面。

我希望当在另一个活动中单击一个按钮时,它会根据按下的按钮编号打开一个 WebView。我想我必须为每个 webViews 创建一个活动,但我想知道我是否可以只使用一个 java 类和一个 Webview 布局。

4

3 回答 3

0

是的,有可能,您可以使用单个活动和 web 视图,并通过 if/else 语句更改内容。请参阅文档。对于loadUrlloadData的方法WebView

于 2013-11-02T16:52:44.580 回答
0

我想我必须为每个 webViews 创建一个活动,但我想知道我是否可以只使用一个 java 类和一个 Webview 布局。

不,您不必为每个 webViews 创建一个活动。

当您在第一个活动中时,您可以使用包含资产文件夹中 HTML 文件的 URL 将数据传递给第二个活动。

假设您有两个用于两个不同按钮的 HTML 页面:

file:///android_asset/page_button_1.html
file:///android_asset/page_button_2.html

在您的第一个活动中,在事件中传递正确的 URL onClick(例如按钮一):

Intent i = new Intent(this, WebViewActivity.class);
i.putExtra("keyHTML","file:///android_asset/page_button_1.html");
startActivity(i);

然后在您的 webview 活动中:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.some_layout);
    Bundle extras = getIntent().getExtras();
    String value = "file:///android_asset/default_page.html";
    if(extras !=null) {
       value = extras.getString("keyHTML");
    }
    webView = (WebView)findViewById(R.id.webview);
    webView.loadUrl(value);
}
于 2013-11-02T16:53:06.203 回答
0

在一项活动中,您有一个 web 视图,在 web 视图中,您可以使用方法更改 html 页面,webview.loadUrl("http://developer.android.com/"); 只需在资产文件夹中创建 html 页面,然后根据您的逻辑在运行时加载相同的页面。例如

webView.loadUrl("file:///android_asset/your.html");
于 2013-11-02T17:24:20.180 回答