Мне нужно проверить, если пользователь уже нажал кнопку ... У меня есть кнопка в моем меню с «промо-кодом» внутри ... Мне нужно проверить, если пользователь уже щелкнул его, чтобы я мог сказать ему (в следующий раз, когда он нажимает это) “You already redeemed this promo code!”
Как мне это сделать? Мне нужна только часть кода, где я могу проверить, нажата ли кнопка.Как проверить, что пользователь уже нажал кнопку?
PS: alredy искал всю сеть для этого!
Спасибо!
EDIT: мой код ниже. Надеюсь, это поможет другим ...
@Override
public boolean onOptionsItemSelected(MenuItem item) {
boolean clicked = false;
switch (item.getItemId()) {
case R.id.getcode:
SharedPreferences pref = getSharedPreferences("promo", MODE_PRIVATE);
boolean activated = pref.getBoolean("activated", false);
if(activated == false) { Button btn = (Button) findViewById(R.id.getcode);
AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this);
dlgAlert.setMessage(getString(R.string.congrats) + "\n" + getString(R.string.promcd) + "\n" + "ASC2013-"+Build.ID+"-"+android.os.Build.SERIAL.charAt(3)+"-"+Build.SERIAL.charAt(6)+"-"+Build.SERIAL.charAt(9)+"-"+Build.SERIAL.charAt(12));
dlgAlert.setPositiveButton(R.string.go,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND);
emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[] {"[email protected]"});
emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, getString(R.string.validreq)+Build.BOOTLOADER);
emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, getString(R.string.why) + "\n" + getString(R.string.validreq1) +"\n"+getString(R.string.dialogMSG1);
emailIntent.setType("plain/text");
startActivity(emailIntent);
}
});
dlgAlert.setCancelable(true);
dlgAlert.create().show();
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("activated", true);
editor.commit();
}
break;
}
switch (item.getItemId()) {
case R.id.settings:
Intent settings = new Intent(MainActivity.this, Settings.class);
MainActivity.this.startActivity(settings);
}
return true;
}
Не работает ... :(Я всегда могу нажать на btn .. Даже с новой версией вашего кода ... – user2606414
Код просто сохраняет флаг в общих настройках. Если пользователь еще не активировал промокод, вы столкнетесь с if-предложением. Там вы можете сделать что-то, чтобы показать пользователю, что он активировал код, например, показать тост. – Namenlos
Спасибо за тяжелую работу в любом случае ... – user2606414