片段束中的空参数

时间:2019-10-29 18:35:06

标签: java android android-fragments

我已经创建了一个Bundle并在其中放置了一个String值。然后,将其设置在Fragment中。但是,当我尝试通过getArguments();读取该值时,就会得到null

Bundle bundle = new Bundle();
bundle.putString("flag", flagAbsentstr );
ExitFragment fragInfo = new ExitFragment();
fragInfo.setArguments(bundle);


private  void getArg(){
    Bundle args =this.getArguments();
    flagAbsentStr=args.getString("flag");
    flagAbsent=Integer.parseInt(flagAbsentStr);
}

@Nullable
@Override
public View onCreateView( LayoutInflater inflater,  ViewGroup container,Bundle savedInstanceState) {
    getArg();
    return inflater.inflate(R.layout.fragment_exit,container,false);
}

2 个答案:

答案 0 :(得分:0)

您似乎是在名为 fragInfo 的本地成员上设置参数,但是您正试图在另一个 this 片段上获取参数。 / p>

答案 1 :(得分:0)

确保在进行交易之前 放置捆绑包。例如,请在下面使用Fragment检查到另一个Bundle的工作导航。

final Bundle bundle=new Bundle();
bundle.putString("name", buildingName);

final FragmentTransaction ft = getSupportFragmentManager()
          .beginTransaction();

final Fragment fragment = new RoomListFragment();
fragment.setArguments(bundle);

ft.add(R.id.listview_fragment_container, fragment);
ft.commit();

更新

要与已创建的片段(如您在评论中提到的Tabs)进行交互,您需要检查official documentation的ex。只是在Fragment之间发送数据的示例之一。

相关问题