Ich habe eine Bedingungsprüfung, um zu entscheiden, ob die ProgressBar
angezeigt werden soll oder nicht. Das Layout sieht aus wie unten, wo die ProgressBar
innerhalb eines RelativeLayout
enthalten ist:Ändern der Sichtbarkeit von Android ProgressBar
<RelativeLayout
android:id="@+id/someID"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ProgressBar
android:id="@+id/someProgressBar"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:indeterminate="true"
/>
</RelativeLayout>
Im Fragment:
ProgressBar progressBar;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.some_main_layout, container, false);
progressBar =(ProgressBar) root.findViewById(R.id.someProgressBar);
....
}
und ich programtically versuchen, die Sichtbarkeit der Statusleiste zu ändern, mit die setVisibility()
Funktion wie:
if(someCondition)
progressBar.setVisibility(View.GONE);
else
progressBar.setVisibility(View.VISIBLE);
Aber das oben genannte funktioniert nie. Also habe ich versucht, Änderungen an der xml
Ebene durch Hinzufügen von android:visibility="gone"
, die die erste Sichtbarkeit setzt auf GONE
Zustand, aber ich bin wieder verloren, wie man die ProgressBar sichtbar machen.
Ich schätze Ihre Gedanken zu diesem Thema.
Danke.
Es bedeutet, dass Sie Ihren Zustand überprüfen müssen. Erfüllt es? – Piyush
@Piyush: Ich habe gerade die grundlegende Struktur des Codes gegeben. Ich weiß sicher, dass die Bedingung funktioniert (durch Debugging). – vardhinisuresh27
@ vardhinisuresh27 überprüfe einfach, ob du die Sichtbarkeit des korrekten Fortschrittsbalkens einstellst, du hast deinen Fortschrittsbalken als 'someProgressBar' initialisiert und du stellst Sichtbarkeit auf' progressBar' ein. Versuchen Sie auch, Ihre Fortschrittsleiste als globale Variable zu ändern und zu sehen. – Redman