繁体   English   中英

在片段之间传递数据

[英]Pass data between fragments

我想将用户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

所以转移是成功的,但我怎样才能收到片段中的数据呢?

您可以使用:

 Bundle args = getArguments();
 if (args  != null && args.containsKey("id_User"))
     String userId = args.getString("id_User");

只需使用:

String User = getArguments().getString("id_User", "Default Value");

如果您请求的密钥不存在,将返回您提供的默认值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM