我想将用户ID从主Activity转移到片段。
所以在主要活动中,我这样做:
Fragment fragment = new Fragment();
final Bundle bundle = new Bundle();
bundle.putString("id_User", id);
Log.i("BUNDLE", bundle.toString());
fragment.setArguments(bundle);
在日志中我可以看到
BUNDLE : Bundle[{id_User=1}]
在片段中,我在onCreate
Bundle arguments = getArguments();
if (arguments != null)
{
Log.i("BUNDLE != null","NO NULL");
} else {
Log.i("BUNDLE == null","NULL");
}
我有
BUNDLE == null: NULL
所以传输成功了,但是我怎样才能收到碎片中的数据呢?
答案 0 :(得分:11)
您可以使用:
Bundle args = getArguments();
if (args != null && args.containsKey("id_User"))
String userId = args.getString("id_User");
答案 1 :(得分:2)
只需使用:
String User = getArguments().getString("id_User", "Default Value");
如果您请求的密钥不存在,将返回您提供的默认值。