2017-11-07 16 views
1

ボタンのクリックでwebviewを表示するアプリケーションを作成しています。 5つのボタンがあるアクティビティAがあります。いずれかのボタンをクリックすると、WebviewがあるアクティビティBが開きます。私が欲しいのは、最初のボタンをクリックすると、ウェブサイト1を含むアクティビティb、ウェブサイト2を含むアクティビティbで2番目のボタンをクリックすると、私はそれを取るべきです。私は意図としてウェブサイトのURLを渡しています。しかし、問題は、2番目のアクティビティが開いたときに完全に空白になってしまうことです。理由を理解できないようです。単一のアクティビティで複数のWebview

以下のコード:

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つのボタンをしました。 ありがとうございます。

+1

フラグメントを調べてみてください。最良の選択肢は、ユーザーが別のWebサイトに切り替えることを決定したときにフラグメントを切り替えることです。ここでは、フラグメントの使用に関する[公式ドキュメント](https://developer.android.com/training/basics/fragments/creating.html)を参照できます。 –

+0

よろしくお願いします。このコードで回避策はありませんか? –

+0

あなたはこれを単一のwebviewで行うことができます。 – Mohit

答えて

3

以下のように変更コードだけウェブビューで

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);  
      } 
     }); 

ワンのWebViewを使用し、別のURLを渡し、そのURLをロードアクティビティ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"); 

活性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> 
関連する問題