如何检查是否存在首选项

时间:2013-02-04 15:08:19

标签: java android menu android-preferences

我将Preference菜单分为三个部分。如何在创建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();
        }               
    }    
}

1 个答案:

答案 0 :(得分:1)

一种方法是,不要null检查

示例:

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