偶尔不空值也会报错请看代码public class SettingActivity extends PreferenceActivity implements
OnPreferenceChangeListener, OnPreferenceClickListener { Preference severPreference; @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
getFragmentManager().beginTransaction()
.replace(android.R.id.content, new SettingPreference())
.commit();
severPreference =  findPreference("sever_url_key");//设置监听器就报错,不设没任何问题 severPreference为空值
 severPreference.setOnPreferenceClickListener(this);
//这样设置监听器也会报错
// severPreference
// .setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
//
// @Override
// public boolean onPreferenceChange(Preference preference,
// Object newValue) {
//
// Log.v("qqqq", "onPreferenceChange");
// return false;
// }
// }); } @Override
public boolean onPreferenceClick(Preference preference) {
// TODO Auto-generated method stub
// Log.v("qqqq", "onPreferenceClick");
return false;
} @Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
Log.v("qqqq", "onPreferenceChange");
// Toast.makeText(this, preference.getKey(), Toast.LENGTH_LONG).show();
return false;
}<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" 
    android:key="setting__preference">    
     <PreferenceCategory  >        <EditTextPreference
            android:dialogTitle="Sever"
            android:key="sever_url_key"
            android:title="sever httpURl URL setting" />
    </PreferenceCategory>
    
    </PreferenceScreen>public class SettingPreference extends PreferenceFragment { @Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState); // Load the preferences from an XML resource
addPreferencesFromResource(R.xml.setting_preference);
}
}
11-14 17:14:15.229: E/AndroidRuntime(5750): FATAL EXCEPTION: main
11-14 17:14:15.229: E/AndroidRuntime(5750): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.hayward/com.hayward.SettingActivity}: java.lang.NullPointerException
11-14 17:14:15.229: E/AndroidRuntime(5750):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at android.app.ActivityThread.access$600(ActivityThread.java:122)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1146)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at android.os.Looper.loop(Looper.java:137)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at android.app.ActivityThread.main(ActivityThread.java:4340)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at java.lang.reflect.Method.invokeNative(Native Method)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at java.lang.reflect.Method.invoke(Method.java:511)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at dalvik.system.NativeStart.main(Native Method)
11-14 17:14:15.229: E/AndroidRuntime(5750): Caused by: java.lang.NullPointerException
11-14 17:14:15.229: E/AndroidRuntime(5750):  at com.hayward.SettingActivity.onCreate(SettingActivity.java:38)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at android.app.Activity.performCreate(Activity.java:4465)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
11-14 17:14:15.229: E/AndroidRuntime(5750):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919)
11-14 17:14:15.229: E/AndroidRuntime(5750):  ... 11 more