Это моя ошибкаjava.lang.NullPointerException на объектную ссылку нулевой
Попытка вызвать виртуальный метод «android.content.SharedPreferences android.content.Context.getSharedPreferences (java.lang.String, внутр)» на нулевой ссылки на объект
Предпочтения класса
public class SessionManager {
public static final String PREF_NAME = "LoginPref";
public static final String KEY_TOKEN = "token";
public static void saveSetting(Context mContext, String mKey, String mValue) {
SharedPreferences mSharedPreferences = mContext.getSharedPreferences(PREF_NAME,0);//Error on this line
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.putString(mKey, mValue);
editor.commit();
}
public static String getSetting(Context mContext, String mKey, String mDefValue) {
SharedPreferences mSharedPreferences = mContext.getSharedPreferences(PREF_NAME,0);
return mSharedPreferences.getString(mKey, mDefValue);
}
public static String getToken(Context mContext) {
return getSetting(mContext, KEY_TOKEN, null);
}
public static void setToken(Context mContext, String mValue) {
saveSetting(mContext, KEY_TOKEN, mValue); //Error on this line
}
public static void logoutUser(Context mContext){
// Clearing all data from Shared Preferences
SharedPreferences mSharedPreferences = mContext.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = mSharedPreferences.edit();
editor.clear();
editor.commit();
}
}
Внутри Фрагм лор
public void onPageFinished(WebView view, String url) {
if(getCookie()!= null){
SessionManager.setToken(getContext(),getCookie()); // Error on this line
Fragment fragment = new MinhasInfoFragment();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.frame_content, fragment);
fragmentTransaction.commit();
Log.d(TAG, "Value " + getCookie());
}
}
public static String getCookie(){
String CookieValue = null;
CookieManager cookieManager = CookieManager.getInstance();
String cookies = cookieManager.getCookie(url);
String[] temp = cookies.split(";");
if (temp == null) {
return CookieValue;
}else if(temp != null){
for (String ar1 : temp){
if(ar1.contains("xxxx")){
String[] temp1=ar1.split("=");
CookieValue = temp1[1];
}
}
}
return CookieValue;
}
см это http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and -how-do-i-fix-it – arjun
Вы пробовали _anything_, чтобы решить эту проблему? Я не думаю, что кто-то хочет отлаживать ваш код для вас. – jdv
Когда вы получаете контекст из своего фрагмента, используйте 'getActivity()' –