J'essaie de créer un DialogFragment en utilisant ma propre mise en page.
J'ai vu plusieurs approches différentes. Parfois, la disposition est définie dans OnCreateDialog comme ceci : (J'utilise Mono mais je me suis un peu habitué à Java)
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();
}
Cette première approche fonctionne pour moi... jusqu'à ce que je veuille utiliser findViewByID.
Après quelques recherches sur Internet, j'ai donc essayé la deuxième approche qui consiste à remplacer OnCreateView
J'ai donc commenté deux lignes de OnCreateDialog
qui a défini la mise en page et ensuite ajouté ceci :
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;
}
ce qui me donne une belle erreur :
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
Je suis perplexe.