2017-06-23 2 views
-4

私はAndroidの初心者です。 WebViewを生成するための他のアクティビティにURLを文字列として渡すことができません。誰か助けて!WebViewのアクティビティにURLを渡す

MainActivity:

public class MainActivity extends AppCompatActivity { 
EditText et_url; 
Button btn; 
public static String url; 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    btn=(Button)findViewById(R.id.btn); 
    et_url=(EditText)findViewById(R.id.et_url); 
    url=et_url.getText().toString(); 
    /*url=url.replace(" ","");*/ 
    btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      int id=v.getId(); 
      if(id==R.id.btn){ 
       Intent web=new Intent(getApplicationContext(),WebActivity.class); 
       startActivity(web); 
      } 
     } 
    }); 
} 

WebActivity:私が主な活動でINOUT URLを読み取ること

public class WebActivity extends AppCompatActivity { 

/* public String myurl=MainActivity.getUrl();*/ 
WebView webView; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_web); 
    getWindow(). 
    setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.La 
    youtParams.FLAG_FULLSCREEN); 
    getSupportActionBar().hide(); 
    url=url.trim(); 
    webView=(WebView)findViewById(R.id.web); 
    webView.loadUrl("http://"+url+"/"); 
     } 
    } 

そのことはできません。あなたの主な活動で

+0

...テントを経由して、それを渡します – Selvin

答えて

2

btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      int id=v.getId(); 
      if(id==R.id.btn){ 
       Intent web=new Intent(getApplicationContext(),WebActivity.class); 
web.putExtra("url",url); 
       startActivity(web); 
      } 
     } 
    }); 

そしてWebActivity中:

Intent intent = getIntent(); 
url = intent.getStringExtra("url"); 
0

開始アクティビティの前にはこのような何かを入力してください。

web.putExtra("url", urlString); 

putExtraの最初のパラメータはキーであり、2番目のパラメータは渡すデータの値です。次のコードを使用してデータを受信することができ、あなたのWebActivityで

String url = getIntent().getStringExtra("url"); 
0

この

String url = "https://stackoverflow.com"; 
Intent i = new Intent(Intent.ACTION_VIEW); 
i.setData(Uri.parse(url)); 
startActivity(i); 

を試してみて、あなたがから文字列を渡すことができ、この

Intent intent = getIntent(); 
String url = intent.getStringExtra("url"); 
0

のように取得しますインテントを使用して別のアクティビティを実行します。下記のコードスニペットを確認してください。あなたのMainActivity.class

if(id==R.id.btn){ 
Intent web=new Intent(getApplicationContext(),WebActivity.class); 
web.putExtra("URL", url); 
startActivity(web); 
} 

のOnCreate()では

WebActivityの.class

Intent intent = getIntent(); 
String url= intent.getExtras().getString("URL"); 
url=url.trim(); 
webView=(WebView)findViewById(R.id.web); 
webView.loadUrl("http://"+url+"/"); 
0

あなたが実際に送信したり、他の活動に文字列 URLを渡しませんでした。..これを試してみてください :

Intent intent = new Intent(getBaseContext(), webActivity.class); 
intent.putExtra("This is your Url String", myUrl); 
startActivity(intent); 

そして、他の活動を通じてURLにアクセスします。

String s = getIntent().getStringExtra("MyUrl"); 
0

を、私は、これはあなたを助けることを願っています

url=et_url.getText().toString(); 

     btn.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        Intent intent =new Intent(MainActivity.this,WebActivity.class); 
        intent.putExtra("passurl",url); 
        startActivity(intent); 
        } 
       } 
      }); 


     public class WebActivity extends AppCompatActivity { 

     /* public String myurl=MainActivity.getUrl();*/ 
     WebView webView; 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_web); 
      getWindow(). 
      setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.La 
      youtParams.FLAG_FULLSCREEN); 
      getSupportActionBar().hide(); 


      Intent intent = getIntent(); 
      String url = intent.getStringExtra("passurl"); 
      webView=(WebView)findViewById(R.id.web); 
      webView.loadUrl(url); 

       } 
      } 

...このように下にしてみてください。

0

あなたのURLをインテントで次のアクティビティに渡します。

btn.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     int id=v.getId(); 
     if(id==R.id.btn){ 
      Intent intent = new Intent(MainActivity.this, WebActivity.class); 
      intent.putExtra("intentKey", url); 
      startActivity(web); 
     } 
    } 
}); 

そして、あなたのWebActivityのonCreate内で

:他のデータとして

try { 
     Intent intent = getIntent(); 
     String urlString = intent .getStringExtra("intentKey"); 
     Log.e("urlString ", urlString + " +++++"); 

    } catch (Exception e) { 
     e.printStackTrace();    
    } 
関連する問題