Ich versuche, ein DialogFragment mit meinem eigenen Layout zu erstellen.
Ich habe ein paar verschiedene Ansätze gesehen. Manchmal wird das Layout in OnCreateDialog folgendermaßen festgelegt: (Ich verwende Mono, habe mich aber etwas an Java gewöhnt.)
public override Android.App.Dialog OnCreateDialog (Bundle savedInstanceState)
{
base.OnCreateDialog(savedInstanceState);
AlertDialog.Builder b = new AlertDialog.Builder(Activity);
//blah blah blah
LayoutInflater i = Activity.LayoutInflater;
b.SetView(i.Inflate(Resource.Layout.frag_SelectCase, null));
return b.Create();
}
Dieser erste Ansatz funktioniert für mich ... bis ich ihn verwenden möchte. findViewByID.
Nach einigem googeln habe ich den zweiten Ansatz ausprobiert, bei dem es um das Überschreiben gehtOnCreateView
Also habe ich zwei Zeilen OnCreateDialog
auskommentiert, die das Layout festlegen, und dann Folgendes hinzugefügt:
public override Android.Views.View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View v = inflater.Inflate(Resource.Layout.frag_SelectCase, container, false);
//should be able to use FindViewByID here...
return v;
}
was mir einen schönen Fehler gibt:
11-05 22:00:05.381: E/AndroidRuntime(342): FATAL EXCEPTION: main
11-05 22:00:05.381: E/AndroidRuntime(342): android.util.AndroidRuntimeException: requestFeature() must be called before adding content
Ich bin ratlos.