2 qq863017854 QQ863017854 于 2016.02.18 08:54 提问

Android值传递 将值传递到oncreate方法中

将handler中解析出的值传递到同一activity种的oncreate方法中
public final Handler news_detailHandler = new Handler() {。。。。。。。。
url = port.getString("url");这个值传递到oncreate中}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
news_detailUtils.getnews_detailJSON(getIntent().getStringExtra("news_detail"), news_detailHandler);
setContentView(R.layout.acitivy_browse_news);
webView = (WebView) findViewById(R.id.webView);
String excerpt_URL = getIntent().getStringExtra("newsurl");//用intent不行 输出为空 }

求大神指点

2个回答

leilba
leilba   Rxr 2016.02.18 10:44
已采纳

你要先确定了一下Handler和onCreate的调用顺序
正常用法中,handler和onCreate在同一个activity中,onCreate这个方法是先于Handler里面的方法执行的,所以传值什么的行不通,但是从你的需求猜测,你应该是想让webview展示这个url吧,其实你可以在handler中直接对webview进行操作的:

 public final Handler news_detailHandler = new Handler() {。。。。。。。。
url = port.getString("url");//这个值传递到oncreate中
webView.loadUrl(url);
}

如果你这个handler是在其他的activity中,且在该handler里面启动了当前这个activity的话,那么才需要用intent进行传值:

url = port.getString("url");
 Intent intent=new Intent();
intent.putExtra("newsurl", url.getString);
intent.setClass(OtherActivity.this, YourCurrentActivity.class);
OtherActivity.this.startActivity(intent);
QQ863017854
QQ863017854 谢谢已经解决!
接近 2 年之前 回复
leilba
leilba 回复QQ863017854: 是的,handler里面可以访问到这个webView的,更有意思的是,handler可以操作当前activity里面所有的view,handler里面的运行线程其实是主线程的一部分
接近 2 年之前 回复
QQ863017854
QQ863017854 在同一个activity中 在handler中可以直接对webview进行操作的?我试试 谢谢
接近 2 年之前 回复
QQ863017854
QQ863017854 额 你说的很对 onCreate这个方法是先于Handler里面的方法执行的 我现在实现后发现bug 第一次触摸按钮的链接在oncreate中接受不到 第二次按的会显示第一次的url
接近 2 年之前 回复
leilba
leilba 第一个里面需要将String转成URL类型的再loadUrl
接近 2 年之前 回复
crazy1235
crazy1235   Ds   Rxr 2016.02.18 10:16

你没有用intent传值啊。。怎么能接收到?

QQ863017854
QQ863017854 有用到 不能实现 被我删了
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!