2016-03-24 11 views
-1

Ich möchte eine Bedingung für eine ShowSolution-Schaltfläche hinzufügen. Wenn Sie die Senden-Schaltfläche drücken, die meine AnswerCheck-Methode ist, ist dies nur möglich, wenn Sie die Schaltfläche Lösung anzeigen drücken können. Gibt es eine Möglichkeit, dies zu tun? Würde die Hilfe schätzen, Danke.Bedingung für Button

public void AnswerCheck2(View view) { 

     EditText num2 = (EditText) findViewById(R.id.answertext2); 
     int val2 = Integer.parseInt(num2.getText().toString()); 


     area = number3 * number3; 

     if (val2 == area) { 
      Toast.makeText(this, "The answer is correct", Toast.LENGTH_SHORT).show(); 

     } else { 

      Toast.makeText(this, "The answer is incorrect ", Toast.LENGTH_SHORT).show(); 
     } 

    } 

    public void ShowSolution2(View view){ 
     ((TextView) findViewById(R.id.solution2)).setText 
       ("The Solution is "+number3 + " * " +number3); 

     ((TextView) findViewById(R.id.answer2)).setText("The answer is "+area); 
    } 


} 
+0

Bitte erläutern Sie Ihre Frage klar. –

+0

Die Person muss ihre Antwort in einem EditText eingeben, dann drücken sie submit, um zu sehen, ob ihre Antwort korrekt ist, wenn ihre Antwort falsch ist, gibt es eine Show Solution-Schaltfläche, die es ihnen erlaubt, die Lösung zu sehen und zu antworten um die Lösung zu sehen, ohne eine Antwort einzugeben, die nicht das ist, was ich möchte. Wie schränke ich die Person ein, den ShowSolution-Knopf zu drücken, bevor sie die Antwort eingeben? – TheOptimist

+0

Sie können die ShowSolution-Schaltfläche zunächst deaktivieren und im else-Block der AnswerCheck2-Methode aktivieren. –

Antwort

0

Wenn ich Ihre Frage richtig verstehe, gibt es mehrere Möglichkeiten, um eine Taste zu aktivieren/anzuzeigen Abhängigkeit von einer Bedingung, wie zB:

  • button.setEnabled(true)
  • button.setVisibility(VISIBLE)

wo button ist der Knopf, den Sie von findViewById(id) erhalten haben.

Natürlich würde dies auch bedeuten, dass Ihre Schaltfläche zuvor deaktiviert oder ausgeblendet wurde, aber es ist schwierig, ohne weitere Erläuterungen eine Anleitung anzubieten.

+0

Wie implementieren Sie die button.setEnabled (true) -Funktion? – TheOptimist

+0

Sie können Ihre Schaltfläche in der XML-Datei des Layouts mit 'android: enabled = false' deaktivieren und dann in Ihrem wahren Zustand einfach' findViewById (R.id. ** your_button_id **) aufrufen. SetEnabled (true) '. – Engraver

+0

Danke, es hat funktioniert, ich möchte eine Pop-up-Box für den Submit-Button mit der Aufschrift "Enter antwort vor dem Einreichen" erscheinen, wenn die Person versucht, sie einzureichen, bevor sie die Antwort im EditText eingeben – TheOptimist

0

Von dem, was ich verstanden habe, möchten Sie zuerst Benutzer ihre Antwort und dann erst nach dem Einreichen ihrer Antwort, Schaltfläche Lösung zeigen möchten.

dann in diesem Fall verwenden diese: -

Zunächst In oncreate Methode: - solutionbutton.setvisibility (false)

Dann in answercheck2: - Solutionbutton.setvisibility.setvisibility (true) num2. setfocusable (false)

Auf diese Weise können Sie auch Benutzer von dort ändern ändern Antwort später