我的包正在为包含的附加内容返回空字符串。不是NPE,实际的“空”值。关于为什么会发生这种情况的任何想法?
新捆绑
String u = null;
Bundle b = new Bundle();
Intent i = new Intent(view.getContext(), ******.class);
u = api.companyData.link.get(position);
Log.d("URL++++++++++++++++++++", u);
b.putString("graphic", api.companyData.graphic);
b.putString("name", api.companyData.name);
b.putString("url", u);
i.putExtras(b);
startActivity(i);
日志语句正在返回网址。
捆绑收件人
Bundle extras = getIntent().getExtras();
if(extras !=null) {
Log.d("EXTRAS", extras.getString("name")+extras.getString("graphic")+extras.getString("link"));
D / EXTRAS(4698):nullnullnull
答案 0 :(得分:1)
直接将对象放入意图中,例如
Intent i = new Intent(view.getContext(), ******.class);
i.putExtra("graphic", ...);
i.putExtra("name", ...);
i.putExtra("url", ....);
然后在接收者活动中:
getIntent().getStringExtra("graphic");
getIntent().getStringExtra("name");
getIntent().getStringExtra("url");
答案 1 :(得分:1)
我总是这样做:
Intent i = new Intent(view.getContext(), ******.class);
i.putExtra("url", u);
然后
String url = getIntent().getStringExtra("url");
我从来没有按照你自己的方式尝试过,但如果putExtras(Bundle)
代表{{1}},则会说:
向intent添加一组扩展数据。钥匙必须包括一个 包前缀,例如应用程序com.android.contacts将使用 名称如“com.android.contacts.ShowAll”。
你不这样做可能是失败的原因。