如何在片段之间传递数据并在新片段中检索它?

Mik*_*ike 0 android android-fragments

我目前正在开展新活动并传递数据:

Intent myIntent = new Intent(c, TastePage.class);
myIntent.putExtra("taste", tempTaste);
c.startActivity(myIntent);
Run Code Online (Sandbox Code Playgroud)

然后使用以下方法检索新活动中的数据:

 //get data from listview
Bundle extras = getIntent().getExtras();
String taste = extras.getString("taste");
Run Code Online (Sandbox Code Playgroud)

为了更好地遵循android设计指南,我正在实现导航抽屉并将我的活动更改为片段.我对如何在片段之间传递数据感到有点困惑.

为了加载新的片段我使用这个代码:

FragmentManager man=getFragmentManager();
                FragmentTransaction tran=man.beginTransaction();
                Fragment_two=new BPTopTastes();
                tran.replace(R.id.main, Fragment_two);//tran.
                tran.addToBackStack(null);
                tran.commit();
Run Code Online (Sandbox Code Playgroud)

我可以在该代码中实现什么来将数据传递给新片段,以及如何在新片段中检索该数据?

Jor*_*sys 8

使用捆绑:

从源片段发送数据

Fragment fragment = new Fragment();
final Bundle bundle = new Bundle();
bundle.putString("user_name", myusername);
fragment.setArguments(bundle);
Run Code Online (Sandbox Code Playgroud)

并从目标片段中读取

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