ฉันต้องการเพิ่ม Fragment ให้กับกิจกรรมที่ใช้เลย์เอาต์ของมันแบบเป็นโปรแกรม ฉันดูเอกสารชิ้นส่วน แต่ไม่มีตัวอย่างมากมายที่อธิบายถึงสิ่งที่ฉันต้องการ นี่คือประเภทของรหัสที่ฉันพยายามเขียน:
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;
}
}
รหัสนี้รวบรวม แต่ล้มเหลวในการเริ่มต้นอาจเป็นเพราะฉันFragmentTransaction.add()
ไม่ถูกต้อง วิธีที่ถูกต้องในการทำเช่นนี้คืออะไร?
ft.add(android.R.id.content, newFragment)
ถ้าคุณเพียงต้องการที่จะใช้ชิ้นส่วนในขณะที่มุมมองเนื้อหาระดับบนสุดของกิจกรรมแล้วคุณสามารถใช้ จำเป็นต้องสร้างโครงร่างแบบกำหนดเองและตั้งค่า id หากคอนเทนเนอร์ของแฟรกเมนต์ไม่ใช่มุมมองเนื้อหาของกิจกรรม