我需要在自定义'android.support.v7.preference.Preference'类中调用一个方法。
我像这样添加了Preferences类:
addPreferencesFromResource(R.xml.app_prefs)
R.xml.app_prefs:
<PreferenceCategory
android:layout="@layout/pref_category_text"
android:title="@string/pref_category_stat_out_title">
<com.sun.preferences.CustomPreference android:key=" @string/pref_key_show_stat" />
</PreferenceCategory>您可以看到上面的CustomPreference:
它有这样的方法CallMee(),非常简单,为了简单,我去掉了一些东西:
public class CustomPreference extends Preference {
public CustomPreference(Context context) {
super(context);
}
public void CallMee(){
}
}我已经在PreferenceFragmentCompat中尝试使用该方法:
override fun setUserVisibleHint(isVisibleToUser: Boolean) {
super.setUserVisibleHint(isVisibleToUser)
if(isVisibleToUser)
// call method CallMee() inside `CustomPreference` but how?
}由于此自定义CustomPreference是从addPreferencesFromResource(R.xml.app_prefs)添加的
我不知道该怎么叫它!有可能吗?
发布于 2020-10-22 22:45:38
您必须在if (isVisibleToUser)块中构造一个自定义首选项的实例。
在您的PreferenceFragmentCompat子类中尝试,
CustomPreference pref = findPreference(getString(R.string.pref_key_show_stat));
pref.CallMee();https://stackoverflow.com/questions/57473463
复制相似问题