ほとんどのデバイスでGoogle Playが動作しますが、一部のSamsung(SM-G531H、SM-G530BT)、HUAWEI、Lenovoデバイスのように見えます。getSharedPreferences
コール。getSharedPreferences一部のデバイスでヌルポインタの例外が返される
私はこれが方法である
public UserStats(Context mContext) {
CRASH HERE
sharedPreferences = mContext.getSharedPreferences(PREF_USER,Context.MODE_PRIVATE);
}
コンストラクタでsharedPreference
ヘルパークラスを持っている
@Override
public void onAttach(Context context) {
super.onAttach(context);
mContext = context;
//init firebase analytics
mFirebaseAnalytics = FirebaseAnalytics.getInstance(context);
}
(私はonAttach
前getSharedPreferences
を呼び出していないです)のフラグメント法にonAttach(Context context)
からコンテキストへの参照を取りますsharedPreferenceを呼び出すフラグメント
private void setGoal(int calories){
new UserStats(mContext).setNewGoal(calories);
tvGoal.setText("Goal\n" + calories + " Cal");
}
それはなぜ起こるか?それを避ける方法は? (私はそれをデバッグできません、Firebaseコンソールでクラッシュを受け取ります)
すべての関連コードを投稿してください。 – earthw0rmjim
ちょっと、onAtttach()の呼び出しで矛盾しているのを見ています(ここではhttps://stackoverflow.com/questions/32077086/android-onattachcontext-not-called-for-api-23)。あなたはそれをチェックしましたか?私は代替案を探すと言うだろう。 – Shaishav
興味深いですが、前にgetActivity()を使用しましたが、同じ結果でした –