相关疑难解决方法(0)

DialogFragment OnCreateView与OnCreateDialog的自定义布局

我正在尝试使用自己的布局创建一个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();
}
Run Code Online (Sandbox Code Playgroud)

第一种方法对我有用......直到我想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;
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个可爱的错误:

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
Run Code Online (Sandbox Code Playgroud)

我很难过.

java mono android xamarin.android android-inflate

74
推荐指数
6
解决办法
6万
查看次数

getChildFragmentManager()和支持库

我正在使用getChildFragmentManager()针对API级别19进行编译的应用程序,并将最低SDK设置为14.

getChildFragmentManager()在API 17中引入,因此在API级别14,15或16运行的设备将在调用NoSuchMethodError方法时抛出.

我确实查看了有关此问题的所有其他StackOverflow问题,但它们似乎都没有回答这个问题:有没有办法让这个getChildFragmentManager()方法在API级别17之前的设备上运行?如果是这样,怎么样?

该方法似乎不包含在v4或v13支持库中.我已尝试使用v4和v13支持库的干净版本,但这似乎无法解决问题.

android android-fragments android-nested-fragment

16
推荐指数
1
解决办法
2万
查看次数