J'ai une vérification de condition pour décider si le ProgressBar
doit apparaître ou non. La mise en page ressemble ci-dessous où l'ProgressBar
est contenu dans un RelativeLayout
:Modification de la visibilité d'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>
Dans le 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);
....
}
et j'essaie programtically de changer la visibilité de la barre de progression le setVisibility()
fonctionne comme:
if(someCondition)
progressBar.setVisibility(View.GONE);
else
progressBar.setVisibility(View.VISIBLE);
Mais ce qui précède ne fonctionne jamais. J'ai donc essayé d'apporter des modifications au niveau xml
en ajoutant android:visibility="gone"
qui définit la visibilité initiale à l'état GONE
, mais je suis encore perdu sur la façon de rendre le ProgressBar visibile.
J'apprécie vos commentaires à ce sujet.
Merci.
Cela signifie que vous devez vérifier votre état. Est-ce que ça satisfait? – Piyush
@Piyush: Je viens de donner la structure de base du code. Je sais avec certitude que la condition fonctionne (par débogage). – vardhinisuresh27
@ vardhinisuresh27 Il suffit de vérifier si vous définissez la visibilité de la barre de progression correcte, vous avez initialisé votre barre de progression en tant que 'someProgressBar' et vous définissez la visibilité de' progressBar'. Essayez également de modifier votre barre de progression en tant que variable globale et voir. – Redman