我正在开发一款带有二维码扫描仪的应用。
我有三个 Activity ; “Skatte”,它有一个按钮,指向另一个名为“Skat1”的 Activity 。 “Skat1”包含一个 QR 扫描仪。当您扫描并获得肯定结果时,它会继续进行名为“Skat1Resultat”的第三项 Activity 。
我的问题是,当你扫描二维码时,我需要完全关闭“Skat1” Activity (或者至少让它无法进入),这意味着我还需要在“Skatte”上制作按钮这是指“Skat1”不可点击。
我已经阅读了后台服务、线程和 Intent ,但我仍然不知道如何去做。我找到了一个代码,可以在您扫描时更改第三个 Activity 的文本,但我需要使用按钮或可点击的文本来完成。
这是二维码被扫描后从“Skat1”移动到“Skat1Resultat”的代码。
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
// Handle successful scan
Toast toast = Toast.makeText(Skat1.this, contents, 9000);
toast.show();
startActivity(new Intent(Skat1.this, Skat1Resultat.class));
finish();
}
} else if (resultCode == RESULT_CANCELED) {
}
我虽然完成了();可以完成工作并关闭 Activity (我也尝试过使用 onDestroy),但是当您单击“Skatte”上的按钮时仍然可以进入 Activity 。
最佳答案
您可以使用值为 false 的静态 bool 标志。 当你得到“resultCode == RESULT_OK”时将其设置为 true
如果标志为 false 则按钮是可点击的 如果标志为真,则按钮不可点击。
if(flag)
{
button.setClickable(false);
}
else
{
button.setClickable(true);
}
关于android - 扫描二维码时将按钮设为不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8878288/