J'ai essayé d'implémenter la fonctionnalité de SwipeRefreshLayout pour mon Spinner, mais rien ne se passe. Est-ce que quelqu'un a une idée pourquoi cela ne fonctionne pas? Le Spinner charge les données la première fois sans problème, mais quand je fais le geste de glisser, rien ne se passe. Pas de couleurs, pas de filature, pas System.out.println, rien :(SwipeRefreshLayout avec Spinner
Voici mon XML et le code Java.
XML
<android.support.v4.widget.SwipeRefreshLayout
android:layout_width="0dp"
android:layout_height="44dp"
android:id="@+id/swipe_main">
<Spinner
android:id="@+id/data_spinner"
android:layout_width="0dp"
android:layout_height="44dp"/>
</android.support.v4.widget.SwipeRefreshLayout>
JAVA
spinner = (Spinner) findViewById(R.id.data_spinner);
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, dataArrayList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(this);
swipe = (SwipeRefreshLayout) findViewById(R.id.swipe_main);
swipe.setColorSchemeColors(android.R.color.holo_blue_bright, android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light);
swipe.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_spinner_item,dataArrayList);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
swipe.setRefreshing(false);
System.out.println("Is swipe refreshing?...");
}
});
Merci une à l'avance!
Essayez-vous un balayage lorsque spinner est ouvert (sous forme de liste déroulante) ?? Je pense que ça ne marchera pas. – sJy
Merci @sJy. Oui, j'essaye un coup quand le fileur est ouvert. Donc, ce n'est pas la façon de le faire, hein? : -/ –
Cher @sJy. J'ai implémenté la réponse sur ce http://stackoverflow.com/questions/23830594/swiperefreshlayout-can-host-only-one-direct-child en plaçant le Spinner à l'intérieur d'un RelativeLayout et je peux voir ce que vous dites plus clairement. Le SwipeRefreshLayout fonctionne mais seulement dans la zone du petit élément sélectionné. Savez-vous comment rafraîchir le Spinner quand il est ouvert par hasard? –