如何使用兼容性包显示DialogFragment?

我试图在3.0-设备上使用DialogFragment,不支持SDK级别的Fragment或DialogFragment。

所以,我决定使用支持Fragment的Android兼容性库。
然后我创build了一个扩展android.support.v4.app.DialogFragment的DialogFragment类。

但…..当我试图用DialogFragment.show()显示我的DialogFragment,我通知show(FragmentManager,String)接受第一个参数为android.app.FragmentManager ,而不是android.support.v4.app.FragmentManager

我认为android.app.FragmentManager不能用于Android 3.0-设备,因为它不包含在SDK中。

有没有办法显示DialogFragment与兼容性库? 我必须使用另一种方式来显示我的DialogFragment与兼容性库吗?

任何帮助都感激不尽。 🙂

Solutions Collecting From Web of "如何使用兼容性包显示DialogFragment?"

兼容性套件适用于3.0版之前的Android版本。

FragmentManager和DialogFragment类都存在于API级别11(3.0)

在任何片段或活动中,您应该可以执行以下操作,在屏幕中间显示一个小(空的)对话框:

DialogFragment df = new DialogFragment(); df.show(getSupportFragmentManager(), "MyDF"); 

FragmentManagerDialogFragment存在于sdk版本4及以上版本的兼容库中,请确保导入那些版本。

用户getSupportFragmentManager()获取您的FragmentManager的compat lib。

按照DialogFragment文档中所述的方式显示对话框,传递`FragmentManager'的compat lib版本。

请注意,您也可以将DialogFragment作为Fragment并使用add(...)replace(...)作为事务的一部分来“显示”它,也就是说,您不仅仅限于使用show(...)