フラグメントがどのように機能するかを理解しようとしています。MainActivity、Fragment1、Fragment2 の 3 つのクラスがあります。
MainActivity は SherlockFragmentActivity を拡張し、
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Fragment1 firstFragment = new Fragment1();
firstFragment.setArguments(getIntent().getExtras());
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container1, firstFragment).commit();
ここで、Fragment1 を fragment_container にロードすると、きれいに表示されます。
(したがって、main_activity.xml には 1 つしかありません)
わかりました。Fragment1 は SherlockFragment を拡張し、それ以上何もしません
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment1layout, container, false);
したがって、1 つのテキスト ビューと 1 つのボタンを持つ .xml からインフレートするだけです。
世界のどこで Button をインスタンス化し、Fragment1 を Fragment2 に置き換えるコードを彼に与えることができるでしょうか?
そのためのコードは何ですか。私は現在「Fragment1」にいるので、どうにかして Fragment ホルダーと通信し、「Fragment2 に置き換えてください」と伝える必要があります。
Fragment2もSherlockFragmentを拡張し、何もせず、空の.xmlを膨らませます