TL; DR有人知道Android.App.DialogFragment
Xamarin 为什么过时了,更重要的是,推荐使用什么类?
更多信息:
我在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) )