Android 当片段恢复时,如何将参数传递给片段?

Android 当片段恢复时,如何将参数传递给片段?,android,Android,我有一个TextViewerFragment来显示文本文件内容。它有一个newInstance方法: 并使用getFragmentManager.beginTransaction.replaceR.id.fl_菜单tvFragment.commit;来展示它 同时,我需要向tvFragment传递一个文件路径,告诉它要显示哪个文件。我知道如何通过Bundle传递参数。但是重用这个片段呢?替换旧tvFragment实例时如何传递参数?您不能 正如getArguments的文档所示,它返回一个在创建

我有一个TextViewerFragment来显示文本文件内容。它有一个newInstance方法:

并使用getFragmentManager.beginTransaction.replaceR.id.fl_菜单tvFragment.commit;来展示它

同时,我需要向tvFragment传递一个文件路径,告诉它要显示哪个文件。我知道如何通过Bundle传递参数。但是重用这个片段呢?替换旧tvFragment实例时如何传递参数?

您不能

正如getArguments的文档所示,它返回一个在创建时传递的参数包,所以在片段被激活后不能更改

如果要重用片段,只需公开一个方法来设置变量中的路径。您不必坚持使用参数,只需创建自己的自定义类来扩展片段

作为旁注。这个newinstance方法没有任何意义,因为每次只需创建一个新片段

你可以申报

private TextViewerFragment mInstance;

public TextViewerFragment getInstance(){
   if (mInstance == null) {
        mInstance = new TextViewerFragment();
   }
return mInstance;
}
然后创建一个公共方法来设置路径

private TextViewerFragment mInstance;

public TextViewerFragment getInstance(){
   if (mInstance == null) {
        mInstance = new TextViewerFragment();
   }
return mInstance;
}