So wollte ich einen einmaligen Intro-Bildschirm für meine Anwendung erstellen, indem ich SharedPreferences
in einer Antwort verwendete, die ich in einem anderen Post fand. Zuerst schien der Code zu funktionieren, aber es ist nicht, jetzt. Kann mir jemand sagen, was vor sich geht?Einmaliger Begrüßungsbildschirm funktioniert nicht
WelcomeActivity.java (Launcher-Aktivität):
package org.reliefdev.reliefdevedworking;
import android.content.Intent;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class WelcomeActivity extends AppCompatActivity {
SharedPreferences prefs;
final String showWelcomeScreenString = "showWelcome";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
Button getStarted = findViewById(R.id.getStartedBtn);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
final Boolean welcomeScreenShown = prefs.getBoolean(showWelcomeScreenString, false);
getStarted.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (welcomeScreenShown) {
startActivity(new Intent(WelcomeActivity.this, LoginReliefAccountActivity.class));
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean(showWelcomeScreenString, true);
editor.apply();
} else if(!welcomeScreenShown){
startActivity(new Intent(WelcomeActivity.this, LoginReliefAccountActivity.class));
}
}
});
}
}
Haben Sie versucht, die App nach dem Löschen ihrer Daten in den Einstellungen erneut auszuführen? –
Ja, das habe ich getan. – flash76