アプリの初回起動時にポップアップする免責事項をアプリに追加したいと考えています。ユーザーが拒否した場合、アプリは終了します。ユーザーがアプリを再度開くと、ユーザーが同意するまで、免責事項が再度ポップアップ表示されます。受け入れられると、非表示になり、ポップアップしなくなります。
私の問題:免責事項に同意すると、それは閉じられ、すべて問題ありません。しかし、アプリを起動すると、再びポップアップします。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final SharedPreferences pref = getSharedPreferences("Preferences", MODE_PRIVATE);
String lver = pref.getString("Version", "");
String ver = this.getString(R.string.version);
if(ver != lver)
{
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Disclaimer")
.setMessage(this.getString(R.string.disclaimer))
.setCancelable(false)
.setIcon(R.drawable.caution)
.setPositiveButton("Accept", new DialogInterface.OnClickListener() {
SharedPreferences.Editor edit = pref.edit();
public void onClick (DialogInterface dialog, int id) {
boolean accepted = true;
dialog.cancel();
if(accepted == true)
{
edit.putString("Version", this.getString(R.string.version));
edit.commit();}
}
private String getString(int version) {
// I had to create this method, cause i got an error the line above this.getstring(R.string.version)
return null;
}
})
.setNegativeButton("Decline", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
MainActivity.this.finish();
}
});
AlertDialog disc = builder.create();
disc.show();
} }
よく似た質問を見つけましたが、問題を解決できませんでした。
答えと、可能であればコード内の適切な説明について本当に嬉しく思います。もっと知りたい/なぜそれが私の問題を解決したのか、コードをコピーして挿入したくないので、それが機能することに満足しています。