相关疑难解决方法(0)

Xamarin Android.App.DialogFragment已过时

TL; DR有人知道Android.App.DialogFragmentXamarin 为什么过时了,更重要的是,推荐使用什么类?

更多信息:

我在Xamarin.Android应用中收到以下警告:

警告CS0618'DialogFragment'已过时:'此类在此android平台中已过时'警告CS0618'Activity.FragmentManager'已过时:'不建议使用'

从以下代码中:

using Android.App;

void onClick(int pos) {
    DialogFragment newFragment = new UsernameDialogFragment(_scans[pos]);
    newFragment.Show(_activity.FragmentManager, "dialog");
}

public class UsernameDialogFragment : DialogFragment {
    public override Dialog OnCreateDialog(Bundle savedInstanceState) {
        var builder = new AlertDialog.Builder(Activity);
        // Build the dialog...
        return builder.Create();
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我使用的是Android.App.DialogFrament类,而不是中的类Android.Support.V4.App。该onClick方法是的一部分RecyclerView.Adapter

对于Xamarin这样的问题,令我感到沮丧的是,几乎没有足够的文档。IntelliSense警告不建议使用其他API,除非Google搜索“ DialogFrament已过时”,否则与Xamarin相关的内容均不存在,除非此旧论坛帖子建议使用过时的API,最糟糕的是,DialogFragment API文档甚至都没有表明班级已经过时了!

一些版本信息:

Xamarin.Forms NuGet:v3.1.0.697729
Visual Studio 2017:v15.8.1
目标框架:Android 9.0(P)
最低Android版本:Android 5.0(API级别21-棒棒糖)
目标Android版本:Android 9.0(API级别27-Oreo) )

android xamarin.android android-fragments xamarin

5
推荐指数
1
解决办法
2018
查看次数