Düzenini programlı olarak uygulayan bir Etkinliğe bir Parça eklemek istiyorum. Fragment belgelerine baktım ama neye ihtiyacım olduğunu açıklayan pek çok örnek yok. İşte yazmaya çalıştığım kod türü:
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;
}
}
Bu kod derlenir, ancak başlangıçta kilitlenir, muhtemelen benim FragmentTransaction.add()yanlış olduğundan. Bunu yapmanın doğru yolu nedir?
ft.add(android.R.id.content, newFragment). Yalnızca parçanın kapsayıcısı etkinliğin içerik görünümü değilse özel bir düzen oluşturmak ve kimliğini ayarlamak gerekir.