Reputation:
I want to transfer the user ID from the main Activity to a fragment.
So in the main activity, I do:
Fragment fragment = new Fragment();
final Bundle bundle = new Bundle();
bundle.putString("id_User", id);
Log.i("BUNDLE", bundle.toString());
fragment.setArguments(bundle);
And in the log I can see
BUNDLE : Bundle[{id_User=1}]
In the fragment, I test it in onCreate
Bundle arguments = getArguments();
if (arguments != null)
{
Log.i("BUNDLE != null","NO NULL");
} else {
Log.i("BUNDLE == null","NULL");
}
And I have
BUNDLE == null: NULL
So the transfer is successful, but how can I receive the data in fragment, please?
Upvotes: 6
Views: 11889
Reputation: 43023
You can use:
Bundle args = getArguments();
if (args != null && args.containsKey("id_User"))
String userId = args.getString("id_User");
Upvotes: 11
Reputation: 35651
Just use:
String User = getArguments().getString("id_User", "Default Value");
The default value you supply will be returned if the key you request does not exist.
Upvotes: 2