-1

Это моя ошибка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; 
    } 
+0

см это http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and -how-do-i-fix-it – arjun

+3

Вы пробовали _anything_, чтобы решить эту проблему? Я не думаю, что кто-то хочет отлаживать ваш код для вас. – jdv

+0

Когда вы получаете контекст из своего фрагмента, используйте 'getActivity()' –

ответ

1

Try путем замены линии

SessionManager.setToken(getContext(),getCookie()); 

Для

SessionManager.setToken(getActivity(),getCookie()); 
+0

не работает для меня :( –

 Смежные вопросы

  • Нет связанных вопросов^_^