Je sauvegarde la configuration avec SharedPreferences
et la charge dans la classe étend les services.Impossible d'instancier le service> java.lang.NullPointerException
Mais erreur lorsqu'on essaie obtenir des valeurs de config, erreur comme:
Impossible d'instancier kr.co.composer.callrecord.recorder.CallRecordService service: java.lang.NullPointerException
à la ligne:
final SharedPreferences mSharedPreference= PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
Dans la mise en page Configuration
enregistrer une EditText:
final SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(this);
serverUrl.setText(prefs.getString("autoSave", ""));
serverUrl.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count)
{
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after)
{
}
@Override
public void afterTextChanged(Editable s)
{
prefs.edit().putString("autoSave", s.toString()).commit();
}
});
Et dans l'autre classe, je veux obtenir ces valeurs par ce code:
public class CallRecordService extends Service {
final SharedPreferences mSharedPreference= PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
@Override
public void onCreate() {
serverURL =(mSharedPreference.getString("autoSave", ""));
}
}
Déplacer l'initialisation '' mSharedPreference' à l'intérieur onCreate() ', et enlever le modificateur' final'. –
Il semble que votre contexte soit nul –
Merci @MikeM. Votre réponse fonctionne. S'il vous plaît ajouter à la réponse pour accepter votre réponse. Je vous remercie. – vanloc