来自EdittextPreference的文本

时间:2014-09-03 08:34:07

标签: java android sharedpreferences android-preferences edittextpreference

我的EditTextPreference就是这样:

<EditTextPreference
    android:title="Name"
    android:summary="namepreferences"
    android:inputType="text"
    android:dialogTitle="name"
    />
在我的PreferencesActivity中

namePref = (EditTextPreference)getPreferenceManager().findPreference("namepreferences");

到目前为止没有问题..现在,我有一个通知服务。我的目标是在通知的标题中传递namePref值。我在服务中写了这个:

SharedPreferences sp = PreferenceManager.getDefaultPreferences(this);
String name;

@Override 
  public void onCreate() {
    name = sp.getText("namepreferences", "NA");

  }

我在通知标题中插入了name,但应用程序崩溃了,因为该名称为空...我无法解决..

1 个答案:

答案 0 :(得分:1)

更改为

SharedPreferences sp;
String name;

@Override
public void onCreate() {
    super.onCreate();
    sp = PreferenceManager.getDefaultPreferences(getApplicationContext());
    name = sp.getText("namepreferences", "NA");
}