2015-03-08 82 views
1

我的主要活動有2個按鈕。一個將文本傳輸到Activity2和其他傳輸網址到Activity2。從一個活動發送網址到另一個

代碼段主要活動來發送URL如下:

else if (v.getId()==R.id.SendUrl){ 
        String query = mEditText.getText().toString(); 
        String url ="www.google.com/#q="+query; 
        Intent intent = new Intent(this, Activity2.class); 
        intent.putExtra(EXTRA_MESSAGE,Uri.parse(url)); 
        startActivity(intent); 

       } 

接收活動類具有以下代碼:

public class Activity2 extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity2); 
    // get intent from HomeActivity 

    Intent intent = getIntent(); 

    // get extra message 
    String message = intent.getStringExtra(HomeActivity.EXTRA_MESSAGE); 

    //render in textview 
    TextView textView = (TextView)findViewById(R.id.viewtext); 
    textView.setTextSize(40); 
    textView.setText(message); 

    WebView webView=(WebView)findViewById(R.id.webNavigator); 
    webView.loadUrl(intent.getStringExtra(HomeActivity.EXTRA_MESSAGE)); 
    //show it in content view 

} 

預期的查詢不加載。有什麼建議麼?

回答

0

你需要太傳遞URL字符串作爲原樣

String query = mEditText.getText().toString(); 
        String url ="http://www.google.com/#q="+query; 
        Intent intent = new Intent(this, Activity2.class); 
        intent.putExtra(EXTRA_MESSAGE,url); 
        startActivity(intent); 

不要使用Uri.parse(); 如果你想使用URI,你可以去逐個 以下各項

String uri = Uri.parse("http://...") 
       .buildUpon() 
       .appendQueryParameter("key", "val") 
       .build().toString(); 

你可以有this也看看。

添加的WebView客戶端的網頁視圖作爲

webView.setWebViewClient(new MyWebViewClient()); 


And the MyWebViewClient class is an inner class as- 

    private class MyWebViewClient extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      return super.shouldOverrideUrlLoading(view,url); 
     } 
    } 
+0

我刪除了Uri.Parse(),但是,我仍然無法得到webactivity加載。 – Shawn 2015-03-08 20:49:41

0
intent.putExtra(EXTRA_MESSAGE, Uri.parse(url)); 

你傳遞一個Uri這裏

webView.loadUrl(intent.getStringExtra(HomeActivity.EXTRA_MESSAGE)); 

,並得到一個String這裏。返回的String將始終爲null,因爲額外不是String

如果你通過這樣的網址,你只需要改變一個線和代碼應工作:

intent.putExtra(EXTRA_MESSAGE, url); 
+0

我確實刪除了Uri.parse,但是,Web活動仍然無法加載。 – Shawn 2015-03-08 20:52:09

+0

嘗試在'HomeActivity'的URL中添加'http://'來除去'Uri.parse' – ByteHamster 2015-03-08 21:49:47

相關問題