我已经创建了一个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);
}
答案 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
之间发送数据的示例之一。