動的Fragmentの追加
1480 ワード
ActivityはFragmentActivityから派生しているが、これはFragmentに関する基礎知識であり、FragmentActivityだけがfragmentページを埋め込むことができ、普通のActivityではだめである.
1.FragmentManagerを取得します(注:getSupportFragmentManager、このActivityはFragmentActivityを継承します).
2.トランザクションを開き、beginTransactionメソッドを呼び出して開きます.
3.コンテナにFragmentを追加し、一般的にreplaceメソッドを使用して実装され、コンテナのidおよびFragmentのインスタンスを入力する必要がある.
4.トランザクションをコミットし、commitメソッドを呼び出してコミットします.
ソースアドレス:https://github.com/luojunquan/FragmentDemo
public class Fragment2 extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
View view=inflater.inflate(R.layout.layout2, container, false);
return view;
}
}
動的Fragmentの追加は主に4つのステップに分けられます。
1.FragmentManagerを取得します(注:getSupportFragmentManager、このActivityはFragmentActivityを継承します).
2.トランザクションを開き、beginTransactionメソッドを呼び出して開きます.
3.コンテナにFragmentを追加し、一般的にreplaceメソッドを使用して実装され、コンテナのidおよびFragmentのインスタンスを入力する必要がある.
4.トランザクションをコミットし、commitメソッドを呼び出してコミットします.
public class MainActivity extends FragmentActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Display display = getWindowManager().getDefaultDisplay();
if (display.getWidth() > display.getHeight()) {
Fragment1 fragment1 = new Fragment1();
getSupportFragmentManager().beginTransaction().replace(R.id.main_layout, fragment1).commit();
} else {
Fragment2 fragment2 = new Fragment2();
getSupportFragmentManager().beginTransaction().replace(R.id.main_layout, fragment2).commit();
}
}
}
ソースアドレス:https://github.com/luojunquan/FragmentDemo