設定をSharedPreferences
で保存し、クラス拡張サービスにロードします。サービスをインスタンス化できません> java.lang.NullPointerException
しかし、私は設定の値を取得しようとするとエラーが表示され、エラーのような:
ラインでサービスkr.co.composer.callrecord.recorder.CallRecordServiceをインスタンス化できません:java.lang.NullPointerExceptionが
:レイアウトConfiguration
で
final SharedPreferences mSharedPreference= PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
私はの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();
}
});
そして、他のクラスでは、私はこのコードによって、この値を取得したい:
public class CallRecordService extends Service {
final SharedPreferences mSharedPreference= PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
@Override
public void onCreate() {
serverURL =(mSharedPreference.getString("autoSave", ""));
}
}
移動 'mSharedPreference'の初期化を行い、そして' final'修飾子を削除しないでください。 –
あなたのコンテキストがnullであるようです –
ありがとう@MikeM。あなたの答えは働いています。あなたの答えを受け入れるために回答に追加してください。ありがとうございました。 – vanloc