2012-01-16 14 views
1

Je développe une application avec un scanner QR.Activation d'un bouton non-cliquable lors de la numérisation d'un code QR

J'ai trois activités; "Skatte" qui a un bouton qui fait référence à une autre activité appelée "Skat1". "Skat1" contient un scanner QR. Lorsque vous numérisez et obtenez un résultat positif, il passe à une troisième activité appelée "Skat1Resultat". Mon problème est que je dois fermer complètement l'activité "Skat1" (ou du moins rendre impossible la saisie) lorsque vous avez scanné un code QR, ce qui signifie que je dois également faire le bouton "Skatte" "qui se réfère à" Skat1 "non cliquable. J'ai lu sur les services d'arrière-plan, les discussions et les intentions, mais je n'arrive toujours pas à comprendre comment le faire. J'ai trouvé un code qui peut changer le texte d'une troisième activité lorsque vous numérisez, mais je dois le faire avec un bouton ou un texte cliquable.

Ceci est le code à utiliser lorsqu'un code QR a été scanné et passe de "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) { 

} 

Je pense que finish(); Je pourrais faire le travail et fermer l'activité (j'ai aussi essayé avec onDestroy), mais il est toujours possible d'entrer dans l'activité en cliquant sur le bouton "Skatte".

Répondre

1

Vous pouvez utiliser un indicateur booléen statique avec la valeur false. Définir à true lorsque vous obtenez « resultCode == RESULT_OK »

Si le drapeau est faux alors le bouton est cliquable Si le drapeau est vrai, le bouton est cliquable.

if(flag) 
{ 
button.setClickable(false); 
} 
else 
{ 
button.setClickable(true); 
} 
Questions connexes