Android: Fragmente: onCreateView nicht genannt

Habe ich ein sandbox Projekt, bei dem alles einwandfrei funktioniert, aber nicht im realen Projekt.
Ich denke, dass ich etwas vermissen...

In Haupttätigkeit, die ich habe (ich habe vereinfacht, ein Projekt so viel wie ich konnte):

@Override
  public void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    setContentView(createUI());
  }

  public View createUI() {
    LinearLayout rootLayout = new LinearLayout(this);
    rootLayout.setOrientation(LinearLayout.HORIZONTAL);
    rootLayout.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT));
    LinearLayout leftLayout = new LinearLayout(this);
    leftLayout.setLayoutParams(new LinearLayout.LayoutParams(300, ViewGroup.LayoutParams.FILL_PARENT));
    leftLayout.setId(11111);

    android.widget.TextView textView = new android.widget.TextView(this);
    textView.setText("112233");

    rootLayout.addView(textView);
    rootLayout.addView(leftLayout);
    {
      FragmentTransaction transaction = getFragmentManager().beginTransaction();
      ModelEditorFragment simpleFragment = new SimpleFragment();
      transaction.add(11111, simpleFragment);
    }
    return rootLayout;
  }

Und in SimpleFragment.java:

  @Override
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle bundle) {
    TextView textView = new TextView(getActivity());
    textView.setText("SimpleFragmentText");
    return textView;

Aber wenn ich starte sehe ich nur 112233 ohne SimpleFragmentText.
Während der Fehlersuche habe ich bemerkt, dass die onCreateView-Methode wird nie aufgerufen... Warum? Es sieht aus wie der gleiche code funktioniert Super in standalone-app... Möglicherweise gibt es weitere Dinge, die ich nicht kennen?

  • sorry. Ich habe nur vergessen die Transaktion.commit() in real-Projekt...
InformationsquelleAutor leshka | 2011-08-02
Schreibe einen Kommentar