Saya ingin menambahkan Fragmen ke Aktivitas yang mengimplementasikan tata letaknya secara terprogram. Saya melihat-lihat dokumentasi Fragment tetapi tidak banyak contoh yang menggambarkan apa yang saya butuhkan. Berikut adalah jenis kode yang saya coba tulis:
public class DebugExampleTwo extends Activity {
private ExampleTwoFragment mFragment;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FrameLayout frame = new FrameLayout(this);
if (savedInstanceState == null) {
mFragment = new ExampleTwoFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(frame.getId(), mFragment).commit();
}
setContentView(frame);
}
}
...
public class ExampleTwoFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater,
ViewGroup container,
Bundle savedInstanceState) {
Button button = new Button(getActivity());
button.setText("Hello There");
return button;
}
}
Kode ini mengkompilasi tetapi macet di awal, mungkin karena saya FragmentTransaction.add()salah. Apa cara yang benar untuk melakukan ini?
ft.add(android.R.id.content, newFragment). Hanya diperlukan untuk membuat tata letak khusus dan mengatur id jika wadah fragmen bukan tampilan konten aktivitas.