0

最初にfragmentが読み込まれると、次のようなレイアウトになります。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    View view = null;
    view = inflater.inflate(R.layout.authenticate, null);
    return view;
}

後でfragment私は呼び出す機能を実行していますstartActivityForResult(intent, 1);

応答が成功した場合、フラグメントのレイアウトを別のレイアウトに置き換えたいとします。たとえば、次のようにします。R.layout.success

onActivityResult()何に書こうかな。

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    // Some code
    if(success){
        // WHAT TO CODE HERE TO REPLACE THE LAYOUT R.layout.authenticate TO R.layout.success
    }

}
4

1 に答える 1

0

FragmentfromActivityBundleas として呼び出すときに、インデックスを渡すことができます。

Bundle bundle=new Bundle();
bundle.putInt("index", 0);//pass 0 for the first time and pass 1 from onActivityResult
MyFragment frag=new MyFragment();
frag.setArguments(bundle);

そしてFragment、インデックスを取得し、それに応じてレイアウトをロードします

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
     int index=getArguments().getInt("index");
     View view = null;
     if(index == 0) {
        view = inflater.inflate(R.layout.authenticate, null);
     } else {
        //another layout to load
     }
     return view;
}
于 2013-10-21T10:50:32.653 に答える