1

これら2つのコードの主な違いは何ですか?

コード 1:

       Fragment fragment = new NaviagtionFragment();
                fragmentTransaction.replace(R.id.pager, fragment);
                fragmentTransaction.commit();

コード 2:

NavigationFragment fragment = new NavigationFragment();
                fragmentTransaction.replace(R.id.pager, fragment);
                fragmentTransaction.commit()
4

2 に答える 2

3

どちらのオプションも a をインスタンス化し、NavigationFragmentそれを 内のものに置き換えますpager。したがって、実行時にはまったく違いはありません。

唯一の違いは、コンパイル時のメソッド/インスタンス変数の可視性に関するものです。

宣言する

Fragment fragment

のカスタム メソッド/インスタンス変数は表示されませんNavigationFragment。ただし、 で他に何もしていない場合はfragment、最初のオプションで問題ありません。

于 2013-11-01T11:11:55.927 に答える