Java 如何检查是否存在偏好

Java 如何检查是否存在偏好,java,android,menu,android-preferences,Java,Android,Menu,Android Preferences,我将偏好菜单分为三部分。如何在创建ClickListener之前检查是否存在“更新按钮”,因为我将获得NullPointerException,如果我要分割没有“更新按钮”。还是有别的办法?谢谢你的时间和回答 public static class PrefsFragment extends PreferenceFragment { @Override public void onCreate(Bundle aSavedState) { super.onCreat

我将偏好菜单分为三部分。如何在创建
ClickListener
之前检查是否存在“更新按钮”,因为我将获得
NullPointerException
,如果我要分割没有“更新按钮”。还是有别的办法?谢谢你的时间和回答

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();
        }               
    }    
}

一种方法是检查
按钮
是否为
null

例如:

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

哦…太简单了,不知怎的,我认为问题是Preference button=(Preference)FindReference(“update_button”);非常感谢。