내 레이아웃을 사용하여 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.
약간의 인터넷 검색 후 재정의와 관련된 두 번째 접근 방식을 시도했습니다.OnCreateView
그래서 OnCreateDialog
레이아웃을 설정 한 두 줄을 주석 처리 한 다음 다음을 추가했습니다.
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
난 당황해.