独自のレイアウトを使用してDialogFragmentを作成しようとしています。
私はいくつかの異なるアプローチを見てきました。レイアウトがOnCreateDialogで次のように設定されることがあります:(私はMonoを使用していますが、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();
}
この最初のアプローチは私にとってはうまくいきます...私が使いたいと思うまでfindViewByID.
、少しグーグルした後、私はオーバーライドを含む2番目のアプローチを試しましたOnCreateView
そこでOnCreateDialog
、レイアウトを設定する2行をコメントアウトして、次のように追加しました。
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;
}
それは私に素敵なエラーを与えます:
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
私は困惑しています。