sub_d$b
}
我是android app dev的初学者。我试图在用户进入屏幕时第一次显示Intro屏幕(使用AppIntro库),第二次应用程序应该显示启动画面?
当我遵循上述代码时,我收到以下错误?
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
boolean isStart = getPrefs.getBoolean("firstStart",true);
if(!isStart){
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent homeIntent = new Intent(MainActivity.this,HomeAcitivity.class);
startActivity(homeIntent);
finish();
}
},3000);
}
else{
Intent intent = new Intent(MainActivity.this,IntroActivity.class);
startActivity(intent);
}
SharedPreferences.Editor e =getPrefs.edit();
e.putBoolean("firstStart",false);
e.apply();
}
答案 0 :(得分:0)
请使用此代码,如果不符合您的期望,它将对您有用并稍加修改
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Fabric.with(this, new Crashlytics());
setContentView(R.layout.activity_splash);
Thread timerThread = new Thread(){
public void run(){
try{
sleep(3000);
}catch(InterruptedException e){
e.printStackTrace();
}finally{
SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
boolean isStart = getPrefs.getBoolean("firstStart",true);
if (!isStart){
Intent homeIntent = new Intent(MainActivity.this,HomeAcitivity.class);
startActivity(homeIntent);
finish();
}else{
Intent intent = new Intent(MainActivity.this,IntroActivity.class);
startActivity(intent);
}
SharedPreferences.Editor e =getPrefs.edit();
e.putBoolean("firstStart",false);
e.apply();
}
}
};
timerThread.start();
}