Button anzeigen beim drücken eines Buttons in einem Dialog

  • 12 Antworten
  • Letztes Antwortdatum
M

monsterhunter14

Neues Mitglied
0
Hallo

Ich möchte gerne wissen wissen wenn man auf einen Button in einem Dialog klickt, das sich der Dialog dann schließt und in dem Layout ein oder mehrere Button sichtbar werden und wenn man auf einen anderen Button in einem Dialog klickt das man auf eine andere Seite geleitet wird.

Ich habe schon vergeblich geforscht deshalb hoffe ich das ihr mir weiterhelfen könnt. ^^

Ich bedanke mich schon einmal im Voraus. :)
 
Zuletzt bearbeitet:
Danke für dein Antwort :)

Ja ich habe mir es durchgelesen und jetzt nocheinmal, aber ich finde dort nichts das mir in irgendeinerweise weiterhelfen könnte :/
Weisst du vielleicht wie man mein Problem lösen könnte?

Gruß
 
Ich brauche erstmal eine konkrete Problemstellung.
Probleme...
...beim Dialog erstellen?
...beim hinzufügen von Buttons in den Dialog
...beim Listener setzten der Buttons auf dem Dialog
...beim anzeigen und verbergen von Views
.....

Gruß
 
Den Dialog habe ich schon fertig.
Also wenn ich auf einen Button klicke wird ein EditText überprüft und es wird entschieden ob das was eingegeben wurde mit dem was in dem Code steht übereinstimmt. Wenn es falsch ist wird in dem Dialog ein ein Text geschrieben der darauf hinweist das die Antwort falsch ist und es wird ein"Hilfe-Button" neben einem "Ok-Button" angezeigt und wenn es richtig ist wird nur der "Ok-Button" und ein Text mit "Sehr gut" angezeigt ← So viel habe ich bis jetzt.

Mein Problem ist das der "Hilfe-Button" kein richtiger Button ist. Ich möchte, dass wenn man auf den "Hilfe-Button" klickt das sich der Dialog schließt und ein Button sichtbar wird der eigentlich unsichtbar ist und wenn die antwort richtig ist wird neben dem "Ok-Button" ein "weiter-Button" angezeigt und wenn man dlrt raufklickt wird man auf eine andere Seite weitergeleitet. Ich weiss leider nicht wie dies funktioniert deshalb frage ich hier im Forum. Kannst du mir da vielleicht weiterhelfen?

Gruß
 
Zuletzt bearbeitet:
Ich bin zwar blutiger Anfänger aber ein Teil deines Problems hab ich heute mit dem Dialog durchgearbeitet.

Ich gehe von aus du den Dialog so erstellst wie hier Dialogs | Android Developers

Hier ist der ClickListener für dein Hilfe Button falls es der linke Button bei dir ist.

.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// User cancelled the dialog
}
});

Der rechte Button ist dieser ClickListener.

.setPositiveButton(R.string.fire, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// FIRE ZE MISSILES!
}

Normalerweise kannst du jetzt hier wie bei einem normalen Button in den Methoden onClick() deine Code ausführen lassen. Du hast wahrscheinlich dabei das Problem, wie ich, dass du nicht in der MainActivity bist, oder?

Ich hab dann in der MainActivity eine selbst erstellte Methode aufgerufen und da meinen Code ausgeführt. Dieserr Code kommt dann in die onClick Methode deines Dialogs.

((MainActivity) getActivity()).eigeneMethode();

In der MainActivity kannste dann eine Methode erstellen wo dein Code ausgeführt wird.

public void eigeneMethode() {}

Hier müssteste dann deinen Button erscheinen lassen.

Der Link sollte dir helfen. Ich selber kenn mich da noch net aus.

How can I remove a button or make it invisible in Android? - Stack Overflow

Ich hoffe ich konnte die helfen muss aber sagen das es sein kann das die Lösung net ganz sauber ist. Falls einer von den Profis es besser weiß gerne ein paar Tipps :)
 
Auch danke für deine Antwort :)

Hier ist der Code von meinem Dialog :)

@SuppressWarnings("deprecation")
public void pruefen2lvl1 (View view) {

EditText idea1lvl2 = (EditText)findViewById(R.id.editText1);
idea1lvl2.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub

}

});



if (idea1lvl2.getText().toString().equals("Telefon")) {

AlertDialog alertDlg = new AlertDialog.Builder(this).create();
alertDlg.setTitle("Sehr gut");
alertDlg.setMessage("Deine Antwort ist korrekt");
alertDlg.setButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

}
});
alertDlg.show();


}
else{
AlertDialog alertDlg = new AlertDialog.Builder(this).create();
alertDlg.setTitle("Schade");
alertDlg.setMessage("Deine Antwort ist leider falsch." +
"Versuche es noch einmal.");
alertDlg.setButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

}
});
alertDlg.setButton2("hilfe", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {

}
});
alertDlg.show();
}
 
Ich würde jetzt erstmal deinen Button der erscheinen soll in die layout.xml packen.
Dann würde ich in die OnCreate Methode diesen Code hinzufügen.

Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(View.GONE);

Das sollte den Button unsichtbar machen beim starten der App.

Als nächstes den Button wieder sichtbar machen. Hier mit deinem Code.

alertDlg.setButton2("hilfe", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {


btn.setVisibility(View.VISIBLE);


}
});;

Um den Weiter Button zu erzeugen musste des doch nur so machen wie bei Hilfe und OK???

AlertDialog alertDlg = new AlertDialog.Builder(this).create();
alertDlg.setTitle("Sehr gut");
alertDlg.setMessage("Deine Antwort ist korrekt");
alertDlg.setButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {}
});
alertDlg.setButton1("Weiter", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {}
});


alertDlg.show();
}

Nun mit intent ne neue Activity starten.

alertDlg.setButton1("Weiter", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {Intent intent = new Intent (this, zweiteActivity.class);
startActivity(intent);
}
});
 
Zuletzt bearbeitet:
Also den Button gibt es schon in einer .xml.

Ich habe schon einmal fast das selbe versucht, aber leider schließ sich die app jedes mal wenn ich den prüfen Button geklickt habe. Der unterschied war, dass ich statt GONE, INVISIBLE benutzt habe. Und wie wird der Button dann sichtbar gemacht weil, nirgens steht VISIBLE ^^ .
Den weiter-Button habe ich nur noch nicht genacht ich weiss aber wie das geht, ich weiss nur nicht wie man von dem Dialog aus auf eine andere seite weitergeleitet wird :/

Trotzdem danke ich werde es morgen mal probieren :)
 
Zuletzt bearbeitet:
Ja, hab mich da verschrieben. ;) Hab es geändert eben. GONE oder INVISIBLE sollte egal sein. GONE nimmt kein Platz weg im Layout aber bei INVISIBLE ist der Patz belegt.

Das mit der neuen Seite hab ich auch noch hinzugefügt. Spreche da lieber über neue Activity damit jeder weißt was du meinst. Hast du bzw. weißt du wie man ne zweite Activity anlegt?
 
Zuletzt bearbeitet:
Danke das du es verbessert hast :)

Ja ich weiß wie man eine neue Activity anlegt ^^, ich bin zwar auch ein ziemlicher anfänger, aber ich hab mir ein paar Bücher über die Basics und Fortgeschritten Sachen gekauft nur leider wird dort nicht sowas beschrieben :/.
 
Denke Punisher hat dir gut geholfen.
Falls noch Frage sind, frag hier!
Keine PN's bitte.

Gruß
 
Ja, ich kenn das. In Büchern hab ich auch nicht immer das gefunden was ich brauch. Du solltest mehr per Google suchen. Dadurch hab ich eigentlich die meißten Probleme gelöst.
 
Zurück
Oben Unten