2017-01-22 1 views
0

は、だから私は私のアプリでthis Intro Sliderを使用しようとしているばかり私のイントロスライダーは一度だけ表示させるしようとしているが、NullPointerExceptionが

すべてがOKでした。

私はこのためにsharedPreferencesを使用しました。ここ

は私IntroActivityです:

public class MainIntroActivity extends com.heinrichreimersoftware.materialintro.app.IntroActivity { 

    private PrefManager prefManager; 

    @Override protected void onCreate(Bundle savedInstanceState) { 

     prefManager = new PrefManager(this); 
     if (!prefManager.isFirstTimeLaunch()) { 
      launchHomeScreen(); 
      finish(); 
     } 

     super.onCreate(savedInstanceState); 

     addSlide(new SimpleSlide.Builder() 
      .title(R.string.intro_title1) 
      .description(R.string.intro_description1) 
      .image(R.drawable.tired) 
      .background(R.color.colorPrimaryLight) 
      .backgroundDark(R.color.colorPrimaryDark) 
      .build()); 
    } 


    private void launchHomeScreen() { 
     prefManager.setFirstTimeLaunch(false); 
     startActivity(new Intent(MainIntroActivity.this, MainActivity.class)); 
     finish(); 
    } 

} 

、これが私のPrefManagerクラスです:

public class PrefManager { 
    SharedPreferences pref; 
    SharedPreferences.Editor editor; 
    Context _context; 

    // shared pref mode 
    int PRIVATE_MODE = 0; 

    // Shared preferences file name 
    private static final String PREF_NAME = "MainIntroActivity"; 

    private static final String IS_FIRST_TIME_LAUNCH = "IsFirstTimeLaunch"; 

    public PrefManager(Context context) { 
     this._context = context; 
     pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE); 
     editor = pref.edit(); 
    } 

    public void setFirstTimeLaunch(boolean isFirstTime) { 
     editor.putBoolean(IS_FIRST_TIME_LAUNCH, isFirstTime); 
     editor.commit(); 
    } 

    public boolean isFirstTimeLaunch() { 
     return pref.getBoolean(IS_FIRST_TIME_LAUNCH, true); 
    } 
} 

logcat:

Caused by: java.lang.NullPointerException 
         at com.heinrichreimersoftware.materialintro.app.IntroActivity.findViews(IntroActivity.java:282) 
         at com.heinrichreimersoftware.materialintro.app.IntroActivity.onCreate(IntroActivity.java:174) 
         at ege.ege.MainIntroActivity.onCreate(MainIntroActivity.java:21) 

答えて

0

移動super.onCreate(savedInstanceState);prefManager = new PrefManager(this);

前に
関連する問題