在片段之间传递数据

6 android bundle android-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); 
Run Code Online (Sandbox Code Playgroud)

在日志中我可以看到

BUNDLE : Bundle[{id_User=1}]
Run Code Online (Sandbox Code Playgroud)

在片段中,我测试它 onCreate

Bundle arguments = getArguments();
if (arguments != null)
{
Log.i("BUNDLE != null","NO NULL");
} else {
Log.i("BUNDLE == null","NULL");
}
Run Code Online (Sandbox Code Playgroud)

我有

BUNDLE == null: NULL
Run Code Online (Sandbox Code Playgroud)

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

Szy*_*mon 11

您可以使用:

 Bundle args = getArguments();
 if (args  != null && args.containsKey("id_User"))
     String userId = args.getString("id_User");
Run Code Online (Sandbox Code Playgroud)