Android - wie Sie eine display-Taste für eine Bedingung?
Habe ich eine Schaltfläche, die im Grunde wie folgt aussieht:
<Button
android:id="@+id/admin_new_questions"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="See Asked Questions"
/>
und ich versuche, um Sie anzuzeigen nur in einigen Fällen wie diesem:
if ( clause )
{
Button admin_see_questions = (Button)findViewById(R.id.admin_new_questions);
admin_see_questions.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v)
{
....
}
});
}
Aber für einige Grund, der button wird angezeigt für alle Fälle, aber die listenter nicht zugehört wird, wenn die Klausel ist ein Fehler.
Wie kann ich die Taste nur auftauchen, wenn die Klausel wahr ist?
Dank!
setvisibility(View.GONE)
Andere bereits richtig beantwortet Ihre Frage aber ich möchte Ratschläge, die Sie über einen UX-problem. Ich denke, dass verstecken nicht der richtige Weg, dies zu tun. IMHO der richtige Weg ist, um immer den button, aber deaktivieren Sie es, wenn die Klausel falsch ist, und aktivieren Sie es, wenn es stimmt 🙂
InformationsquelleAutor GeekedOut | 2012-04-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Schaltfläche in der XML-layout, so können Sie verbergen oder zeigen Sie es nur durch änderung seiner
visibility
NB: Sie brauchen nur diese Operationen einmal:
findViewById()
Legen Sie die
OnClickListener
der Schaltfläche-
InformationsquelleAutor Sébastien
Alle Komponenten der Benutzeroberfläche erklärt in er XML-standardmäßig angezeigt werden. Sie müssen entweder:
Angeben, dass es nicht sichtbar sein soll in der layout-XML -
Verstecken, wenn die Bedingung als falsch ausgewertet:
InformationsquelleAutor MByD
Können Sie
View.GONE
undView.VISIBLE
imsetVisibility
dies zu kontrollieren, als Ausgangspunkt.Ob Sie Anzeigen.GEGANGEN oder mit einem ähnlichen Wert hängt davon ab, ob Sie diese Schaltfläche, entfielen im layout oder nicht.
Sie können sich diese Frage für mehr Informationen:
Android: warum setVisibility(View.GEGANGEN); setVisibility(View.UNSICHTBAR); nicht funktionieren
Könnte man auch einfach deaktivieren, damit es gesehen wird, aber nicht aktiv ist, und das kann eine bessere option sein.
InformationsquelleAutor James Black
Verwenden admin_see_questions.setVisibility(View.WEG) oder admin_see_questions.setVisibility(View.SICHTBAR)
InformationsquelleAutor Khawar
Sie sind nicht die Einstellung der Tasten-Sichtbarkeit. Ihre drei Sichtbarkeitsoptionen, sichtbar, unsichtbar und Weg. Der folgende code sollte funktionieren, entweder ein-oder ausblenden der Schaltfläche basierend auf der Klausel.
InformationsquelleAutor onit
.setVisibility(View.GEGANGEN); verbergen
ViewGroup Gruppe = (ViewGroup)(myView.getParent());
grouo.removeView(myView); zu entfernen
InformationsquelleAutor pouzzler
probieren Sie es aus, wenn die Bedingung erfüllt ist,
InformationsquelleAutor Ajay
Müssen Sie entfernen oder verbergen Sie die Taste. Versuchen Sie es mit
admin_see_questions.setVisibility(View.INVISIBLE)
oderadmin_see_questions.setVisibility(View.GONE)
. Zeigen Sie die Taste erneut, rufen Sieadmin_see_questions.setVisibility(View.VISIBLE)
InformationsquelleAutor Lie Ryan
Legen Sie den Anfangszustand der Taste Verschwunden/Unsichtbar im xml und überprüfen dann die Bedingung im code.
und wenn die Bedingung true oder false ist, dann:
ja, und behoben, danke 🙂
InformationsquelleAutor waqaslam