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

前端之家收集整理的这篇文章主要介绍了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相关文章