1

我的包正在为包含的附加内容返回空字符串。不是 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);

日志语句返回的 url 很好。

收货人

   Bundle extras = getIntent().getExtras();
    if(extras !=null) {
         Log.d("EXTRAS", extras.getString("name")+extras.getString("graphic")+extras.getString("link"));

D/EXTRAS(4698):nullnullnull

4

2 回答 2

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");
于 2012-06-30T22:59:35.583 回答
1

我总是这样做:

Intent i = new Intent(view.getContext(), ******.class);
i.putExtra("url", u);

进而

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

我从来没有按照你的方式尝试过,但是如果你查看 Android 文档putExtras(Bundle)它会说:

向意图添加一组扩展数据。键必须包含包前缀,例如应用程序 com.android.contacts 将使用类似“com.android.contacts.ShowAll”的名称。

你不这样做可能是失败的原因。

于 2012-06-30T23:02:30.190 回答