我是安卓开发新手。我想知道是否可以使用 if/else 子句语句从一项活动在资产文件夹中加载多达 20 个 html 页面。
我希望当在另一个活动中单击一个按钮时,它会根据按下的按钮编号打开一个 WebView。我想我必须为每个 webViews 创建一个活动,但我想知道我是否可以只使用一个 java 类和一个 Webview 布局。
我是安卓开发新手。我想知道是否可以使用 if/else 子句语句从一项活动在资产文件夹中加载多达 20 个 html 页面。
我希望当在另一个活动中单击一个按钮时,它会根据按下的按钮编号打开一个 WebView。我想我必须为每个 webViews 创建一个活动,但我想知道我是否可以只使用一个 java 类和一个 Webview 布局。
是的,有可能,您可以使用单个活动和 web 视图,并通过 if/else 语句更改内容。请参阅文档。对于loadUrl
和loadData
的方法WebView
。
我想我必须为每个 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);
}
在一项活动中,您有一个 web 视图,在 web 视图中,您可以使用方法更改 html 页面,webview.loadUrl("http://developer.android.com/");
只需在资产文件夹中创建 html 页面,然后根据您的逻辑在运行时加载相同的页面。例如
webView.loadUrl("file:///android_asset/your.html");