我在PreferenceFragment扩展类中找到了要使用的该库,我的问题是无法解析getSupportFragmentManager。 我的问题是当扩展PreferenceFragment时如何显示该片段
我尝试更改为getFragmentManager,但无法正常工作
public class PreferencesFragment extends PreferenceFragment {
final Preference currencyPreference = findPreference(getResources().getString(R.string.setting_category_currency_key));
currencyPreference.setOnPreferenceClickListener(preference -> {
//selectCurrencyDialog = new SelectCurrencyFragment();
//selectCurrencyDialog.show(((SettingsActivity) getActivity()).getSupportFragmentManager(), "SelectCurrency");
CurrencyPicker picker = CurrencyPicker.newInstance("Select Currency"); // dialog title
picker.setListener((name, code, symbol, flagDrawableResID) -> {
// Implement your code here
});
picker.show(getSupportFragmentManager(), "CURRENCY_PICKER");
return false;
});
}
此行有错误
getSupportFragmentManager()
picker.show(getSupportFragmentManager(), "CURRENCY_PICKER");
答案 0 :(得分:0)
使用getChildFragmentManager()代替getSupportFragmentManager()
答案 1 :(得分:0)
在片段中使用-
picker.show(getChildFragmentManager(), "CURRENCY_PICKER");
在活动中使用-
picker.show(getSupportFragmentManager(), "CURRENCY_PICKER");
答案 2 :(得分:0)
您是否尝试过将getSupportFragmentManager()
替换为PreferencesFragment.this.getActivity().getSupportFragmentManager()
?
这可以通过返回PreferencesFragment
的父活动并获取其片段管理器来实现。如果您的上级活动扩展了支持库中的活动,则您应该改用PreferencesFragment.this.getActivity().getFragmentManager()
。