java - 如何检查首选项是否存在

标签 java android menu android-preferences

我将首选项菜单分为三个部分。如何在创建 ClickListener 之前检查 "update_button" 是否存在,因为我收到 NullPointerException,如果我要分段,哪里不存在“update_button”。或者还有其他办法吗?感谢您的时间和答复。

public static class PrefsFragment extends PreferenceFragment {
    @Override
    public void onCreate(Bundle aSavedState) {
        super.onCreate(aSavedState);
        Context anAct = getActivity().getApplicationContext();
        int thePrefRes = anAct.getResources().getIdentifier(
                getArguments().getString("pref-resource"), "xml", anAct.getPackageName());
        addPreferencesFromResource(thePrefRes);
        try {
            Preference button = (Preference) findPreference("update_button");
            button.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
                @Override
                public boolean onPreferenceClick(Preference arg0) {
                    Toast.makeText(getActivity(), "Update Done.",Toast.LENGTH_LONG).show();
                    return true;
                }
            });
        } catch(Exception e) {
            e.printStackTrace();
        }               
    }    
}

最佳答案

一种方法是检查 button 是否为 null

示例:

Preference button = (Preference) findPreference("update_button");
if (button != null) {
    button.setOnPreferenceClickListener(
        new Preference.OnPreferenceClickListener() {
            // code
        });
}

关于java - 如何检查首选项是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14689570/

相关文章:

javascript - 单击可以同时打开图像主菜单和搜索框的两个菜单?它应该打开一个菜单并关闭另一个

android - 从 android 调用 wcf 服务 POST

java - 如何在两个 Activity 之间翻转动画(如卡片翻转)?

css - 下拉菜单无法正常工作

java - QStackedWidget 相当于 Java Swing

Android,Anko cardView 不可用 - Unresolved reference : cardView

CSS 水平子菜单 - IS 6,7 都不起作用,尝试使用任何悬停

java - 如何在运行时从 Jasper Report 中抛出异常(使用 iReport for IDE)- XML 数据源上的数据验证

java - 如果正在显示 AlertDialog,则停止其余 UI 元素事件

java - Hadoop 文件系统 shell 在成功执行后返回 -1