Я хочу добавить заявление об отказе в свое приложение, которое появляется при первом запуске приложения. Если Пользователь отклоняется, приложение закрывается. Если пользователь снова откроет приложение, отказ должен появиться снова, пока пользователь не примет его. После его принятия он должен скрываться и больше не появляться.alertDialog отказывается от ответственности при каждом запуске
Моя проблема: Если я принял отказ от ответственности, он закрывается, и все в порядке. Но когда я запускаю приложение, оно снова появляется.
@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();
} }
Я нашел quite similar question, но я не мог решить мою проблему с ним.
Я был бы очень рад получить ответ и, если возможно, хорошее объяснение в коде. Потому что я хочу узнать больше/почему он решил мою проблему и не хочет копировать & вставьте код и будьте счастливы, что он работает.
Спасибо за комментарии! Он работал, но я использовал 'if (! Ver.equals (lver)) {...}' как @sddamico вместо 'if (ver.equals (lver)) {...}'. Я редактирую рабочий код на свой вопрос – Kroenig