如何通过活动将额外数据从一个片段传输到另一个片段

Lee*_*fin 6 android android-emulator android-intent android-layout

例如,在ListActivity托管的列表视图中,当用户单击列表中的项目时,将启动一个新活动,并且之前的活动将额外数据传输到新活动,如下所示:

public class Notepadv2 extends ListActivity {
    ...

   @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        super.onListItemClick(l, v, position, id);

        Intent i = new Intent(this, NoteEdit.class);
        i.putExtra(NotesDbAdapter.KEY_ROWID, id);
        startActivityForResult(i, ACTIVITY_EDIT);
     }
}
Run Code Online (Sandbox Code Playgroud)

应该怎么样如果我使用片段?我的意思是如果我有一个Activity来托管2个片段,并进行如下的片段交易:

// Create new fragment and transaction
Fragment newFragment = new ExampleFragment();
FragmentTransaction transaction = getFragmentManager().beginTransaction();

// Replace whatever is in the fragment_container view with this fragment,
// and add the transaction to the back stack
transaction.replace(R.id.fragment_container, newFragment);
transaction.addToBackStack(null);

// Commit the transaction
transaction.commit();
Run Code Online (Sandbox Code Playgroud)

如何通过主机活动将额外数据从一个片段传输到另一个片段?

我知道在android开发者网页上,有一个很好的文档,说明如何使用片段以及如何与活动进行通信,但是没有关于如何将数据从一个片段传输到另一个片段的描述....

Its*_*ank 22

使用

Bundle data = new Bundle();
data.putString("name",value);
Fragment fragment = new nameOfFragment();
fragment.setArguments(data);
.navigateTo(fragment);
Run Code Online (Sandbox Code Playgroud)