从一个活动发送网址到另一个
我的主要活动有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
}
预期的查询不加载。有什么建议么?
你需要太传递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);
}
}
intent.putExtra(EXTRA_MESSAGE, Uri.parse(url));
你传递一个Uri
这里
webView.loadUrl(intent.getStringExtra(HomeActivity.EXTRA_MESSAGE));
,并得到一个String
这里。返回的String
将始终为null
,因为额外不是String
。
如果你通过这样的网址,你只需要改变一个线和代码应工作:
intent.putExtra(EXTRA_MESSAGE, url);
我确实删除了Uri.parse,但是,Web活动仍然无法加载。 – Shawn 2015-03-08 20:52:09
尝试在'HomeActivity'的URL中添加'http://'来除去'Uri.parse' – ByteHamster 2015-03-08 21:49:47
我删除了Uri.Parse(),但是,我仍然无法得到webactivity加载。 – Shawn 2015-03-08 20:49:41