android – 如何从PreferenceFragment显示一个Dialog?

当我在PreferenceFragment中点击一个Preference时,我正试图调出一个DialogFragment.不幸的是,当我在DialogFragment.show()中调用getFragmentManager()时,我收到以下错误

Cannot resolve method ‘show(android.app.FragmentManager,java.lang.String)’

问题是我似乎无法从这个片段中引用android.support.v4.app.FragmentManager.负责这个片段的活动从FragmentActivity延伸,但显然这还不够.我也试过调用getSupportFragmentManager(),但这给了我这个错误

Cannot resolve method ‘getSupportFragmentManager()’

我怎样才能做到这一点?

这是一些代码

gPrefAckNowledgements.setonPreferenceClickListener(new Preference.OnPreferenceClickListener()
{
    @Override
    public boolean onPreferenceClick(Preference preference)
    {
        DialogAckNowledgements dialogAck = new DialogAckNowledgements();
        dialogAck.show(getFragmentManager(),"ackNowledgements");
        return true;
    }
});

解决方法

基于Steve的回答,我还需要设置DialogFragment以从android.app.DialogFragment(而不是android.support.v4.app.DialogFragment)导入.该库中的show()函数请求android.app.FragmentManager,我可以通过调用getFragmentManager()来提供,就像我在问题中发布的代码中所做的那样.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...