我尝试在3.0-设备上使用DialogFragment,它不支持SDK级别的Fragment或DialogFragment。
所以,我决定使用Android兼容库,它支持Fragment 然后我创建了一个扩展 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?我是否必须使用另一种方式来显示带有兼容性库的My DialogFragment?
任何帮助将不胜感激。 :)
答案 0 :(得分:15)
兼容性包适用于在3.0之前的Android版本上开发的用户。
API级别11(3.0)中存在FragmentManager和DialogFragment类
在任何片段或活动中,您应该能够执行以下操作以在屏幕中间显示一个小(空)对话框:
DialogFragment df = new DialogFragment();
df.show(getSupportFragmentManager(), "MyDF");
答案 1 :(得分:10)
FragmentManager
和DialogFragment
,请确保导入这些。
用户getSupportFragmentManager()
获取compat lib的FragmentManager
。
显示对话框,如DialogFragment
文档中所述,传递compat lib版本的“FragmentManager”。
请注意,您还可以将DialogFragment
视为Fragment
,并使用add(...)
或replace(...)
作为交易的一部分'显示',即您不受限制仅使用show(...)