Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从同一活动加载多个html页面(WebView)并使用if/else子句_Java_Android_Android Activity_Webview - Fatal编程技术网

Java 从同一活动加载多个html页面(WebView)并使用if/else子句

Java 从同一活动加载多个html页面(WebView)并使用if/else子句,java,android,android-activity,webview,Java,Android,Android Activity,Webview,我是android开发的新手。我想知道是否可以使用if/else子句语句从一个活动在assets文件夹中加载多达20个html页面 我希望当在另一个活动中单击一个按钮时,它会根据按下的按钮编号打开一个WebView。我想我必须为每个Webview创建一个活动,但我想知道我是否可以只使用一个java类和一个Webview布局。是的,您可以使用单个活动和一个Webview,并通过if/else语句更改内容。用于WebView的loadUrl和loadData方法 我想我必须为每个网络视图创建一个活动

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


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

是的,您可以使用单个活动和一个Webview,并通过if/else语句更改内容。用于
WebView
loadUrl
loadData
方法

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

不,您不必为每个Web视图创建活动

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

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

file:///android_asset/page_button_1.html
file:///android_asset/page_button_2.html
在第一个活动中,在
onClick
事件中传递正确的URL(按钮一的示例):

然后在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视图中,您可以使用方法
webview.loadUrl(“http://developer.android.com/");
只需在asset文件夹中创建html页面,然后根据逻辑在运行时加载相同的页面。
e、 g


谢谢假设它只是一个按钮——GO按钮。就像在自定义软键盘中一样,您希望在文本视图框中输入字符串(一个数字)并单击GO按钮时使用它。我可以在GO按钮的onClick方法上使用if/else子句语句,并输入链接上述WebViewActivity类的代码。它会有用的是吗?@OluleyeIResþektIdowu是的,或者你可以用一个switch语句。很抱歉打扰你,问一下@ZouZou。哪个是默认的_page.html?比如它必须是空白的吗?或者,只要我在I.putExtra(“keyHTML”)中输入了正确的HTML页面,这就无关紧要了file:///android_asset/page_button_1.html"). 请guide@OluleyeIResþektIdowu我只是在您无法检索到正确的URL(通常不会出现)时添加了此选项,因此它也可能是您创建的页面,就像404错误页面=)
@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);
}
webView.loadUrl("file:///android_asset/your.html");