2 pièce(s) jointe(s)
Deplacer les éléments de ListView dans android studio
Bonsoir à tous. j'ai un soucis je développe une application qui contient une Liste et les données sont récupérés dans Firebase database.
Le soucis c'est que lorsque la données n'est pas retrouver dans la base de données elle affiche les traits de la listview et laisse un espace vide. J'aimerais que les données se trouvant en bas soit au debut.
j'associe des capture du résultat et mon code peut être que vous comprendriez mieux
Pièce jointe 574100
Pièce jointe 574101
comme vous le voyez dans le cas ou la commune est ABOBO sa laisse un item vide donc j'aimerais que cet item vide la disparaisse
voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
| package com.ci.pass_assur;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.firebase.ui.database.FirebaseListAdapter;
import com.firebase.ui.database.FirebaseListOptions;
import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.Query;
import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList;
public class ListePharmacie extends AppCompatActivity {
ListView listView;
FirebaseDatabase database;
DatabaseReference databaseReference;
FirebaseListAdapter adapter;
pass_assur pass_assur;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_liste_pharmacie);
pass_assur = new pass_assur();
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
if (bundle!=null){
final String communeText = (String) bundle.get("commune");
String assurance = (String) bundle.get("assurance");
Toast.makeText(this,"ListePharmacie "+ communeText + assurance, Toast.LENGTH_LONG).show();
listView = (ListView) findViewById(R.id.list_pharmacie);
Query query = FirebaseDatabase.getInstance().getReference(assurance);
FirebaseListOptions<pass_assur> options = new FirebaseListOptions.Builder<pass_assur>()
.setLayout(R.layout.pharmacie_item)
.setQuery(query,pass_assur.class)
.build();
adapter = new FirebaseListAdapter(options) {
@Override
protected void populateView(View v, Object model, int position) {
pass_assur pharmacieID = (pass_assur) model;
if (communeText.equals(pharmacieID.getCommune())){
TextView pharmacieNom = v.findViewById(R.id.pharmacie_nom);
TextView pharmacieLieu = v.findViewById(R.id.lieu);
pharmacieNom.setText(pharmacieID.getNom().toString());
pharmacieLieu.setText(pharmacieID.getLieu().toString());
}else{
}
}
};
listView.setAdapter(adapter);
}
}
@Override
protected void onStart() {
super.onStart();
adapter.startListening();
}
@Override
protected void onStop() {
super.onStop();
adapter.stopListening();
}
} |
Merci pour votre aide