0

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了通知的标题,但应用程序崩溃说该名称为空..我无法解决..

4

1 回答 1

1

改成

SharedPreferences sp;
String name;

@Override
public void onCreate() {
    super.onCreate();
    sp = PreferenceManager.getDefaultPreferences(getApplicationContext());
    name = sp.getText("namepreferences", "NA");
}
于 2014-09-03T08:35:18.850 回答