java - 单个 Activity 中的多个 Webview

标签 java android webview

我正在创建一个应用程序,点击按钮即可显示 WebView 。我有一个有 5 个按钮的 Activity A。单击任何按钮时,它会打开其中包含 webview 的 Activity B。我想要的是,当我单击第一个按钮时,它应该带我进入包含网站 1 的 Activity b,当我单击第二个按钮时,它带我进入包含网站 2 的 Activity b,依此类推。我正在传递网站 url 作为 Intent 。但问题是当第二个 Activity 打开时它是完全空白的。我似乎无法弄清楚原因。

代码如下:

Activity A :  monsterB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent i = new Intent(getApplicationContext(), Monster.class);
             i.putExtra("monsterB", Monster);
                //int x = 1;        
                startActivity(i);    
            }
        });

        naukrii.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent i = new Intent(getApplicationContext(), Monster.class);
               i.putExtra("naukri", naukriaddress);
                //x=2    
                startActivity(i);    
            }
        });


Activity B :

   super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_monster);


        WebView mons = (WebView) findViewById(R.id.monster);
        WebView nauk = (WebView) findViewById(R.id.naukri);

        String newM = "https://www.google.co.in/";
        String newN = "https://www.google.co.in/";


        String one = getIntent().getExtras().getString("monsterB");
        String hell = getIntent().getExtras().getString("naukri");



        if(one == newM) {

            mons.setWebViewClient(new WebViewClient());
            mons.loadUrl("https://www.naukri.com/");
        }        
    else if(hell == newN) {    
            nauk.setWebViewClient(new WebViewClient());
            nauk.loadUrl("https://www.google.co.in/");    
        }

    }


Activity B.XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="nripesh.gob.Monster">

    <WebView
        android:id="@+id/monster"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="visible"
        tools:layout_editor_absoluteX="8dp"
        tools:layout_editor_absoluteY="8dp" />

    <WebView
        android:id="@+id/naukri"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="visible"
        tools:layout_editor_absoluteX="8dp"
        tools:layout_editor_absoluteY="8dp" />    

</RelativeLayout>

到目前为止,我只制作了 2 个按钮。 提前致谢。

最佳答案

像下面这样更改代码只使用一个 webview 并传递不同的 url 并在 web View 中加载该 url

Activity A :  monsterB.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent i = new Intent(getApplicationContext(), Monster.class);
             i.putExtra("url", "https://www.google.co.in/");
                //int x = 1;        
                startActivity(i);    
            }
        });

        naukrii.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent i = new Intent(getApplicationContext(), Monster.class);
               i.putExtra("url", "https://www.naukri.com/");
                //x=2    
                startActivity(i);    
            }
        });

Activity B:

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_monster);


    WebView webView = (WebView) findViewById(R.id.webView);



    String url = getIntent().getExtras().getString("url");


    webView.setWebViewClient(new WebViewClient());
    webView.loadUrl("url");

Activity B.XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="nripesh.gob.Monster">

    <WebView
        android:id="@+id/webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="visible"
        tools:layout_editor_absoluteX="8dp"
        tools:layout_editor_absoluteY="8dp" />  

</RelativeLayout>

关于java - 单个 Activity 中的多个 Webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47159668/

相关文章:

android - 使用线程循环图像

android - android中如何通过json上传图片,我现在的方法耗时比较长

javascript - 如何将 javascript 函数的返回值传递给 android?

java - 从一个字节中获取半个字节

java - 如何比较 IBM RTC 中的两个流?

java - 在 Java 中创建 LinearLayout - 元素未显示

android - 如何设置WebView字体

javascript - Android webview - JavaScript 回调不起作用?

java - Python 与 org.apache.commons.configuration 等效吗?

java - 使用 LocalDate 的日期格式问题