Bonjour;
Je veux savoir comment on peut afficher les données d'une table dans un listview,mais je veux afficher les données selon l'id (clé primaire de la table).
j'ai une table "gare" qui a comme clé primaire id_gare et une table "arrive" (l'arrivé des trains pour une gare) qui a le champs id_gare comme clé étrangère.

mon problème est que j'ai réussi à afficher toutes les lignes de la table "arrive" dans un listview,alors que je veux afficher juste les arrivées de chaque gare.(j'ai une interface qui contient une liste des gares,lorsque je clique sur l'une de ces gares une nouvelle interface s'affiche qui contient des informations sur cette gare,et il existe un bouton "arrivé",lorsque je clique sur ce bouton il doit me mener vers une liste qui contient les arrivées(heure,numéro train,etc) qui concerne cette gare).
Remarque:J'ai utilisé GSON pour accéder à la base de données Mysql.

Merci d'avance.

Voici le code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
public class liste_arrive extends Activity implements Runnable{
	private ListView list;
	private ProgressDialog progressd;
	public List<arrive> results;
	arrive a;
	TextView gare;
	 TextView gareid;
	 String idgare = null;
	 String gare_name = null;
	 item_com_Arrive item;
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.liste_arrive); 
 
        list = (ListView) findViewById(R.id.list1);
 
 
        Bundle ext=getIntent().getExtras();
   	 if(ext!=null)
   	 {
   		 gare_name=ext.getString("gare_name");
   		 idgare=ext.getString("id_gare");
   	 }
 
   	  gare=(TextView)findViewById(R.id.gare_name);
     gare.setText(gare_name);
      gareid=(TextView)findViewById(R.id.idgare);
     gareid.setText(idgare);
 
        execute_web_service();
        list.setClickable(false);
        list.setFocusable(true); 
 
 }
 
 public void execute_web_service() {
	progressd = ProgressDialog.show(liste_arrive.this, "", "Chargemnet...", true,
			false);
 
	Thread thread = new Thread(liste_arrive.this);
	thread.start();
 
} 
 
public void run() {
 
get_liste_arrives();
 
	handler.sendEmptyMessage(0);
}
 
private Handler handler = new Handler() {
	@Override
	public void handleMessage(Message msg) {
		progressd.dismiss();
 
     afficher_liste_arrives();
 
	}
};
//}
 
private InputStream retrieveStream(String url) {
 
	DefaultHttpClient client = new DefaultHttpClient(); 
 
    HttpGet getRequest = new HttpGet(url);
 
    try {
 
       HttpResponse getResponse = client.execute(getRequest);
       final int statusCode = getResponse.getStatusLine().getStatusCode();
 
       if (statusCode != HttpStatus.SC_OK) { 
          Log.w(getClass().getSimpleName(), "Error " + statusCode + " for URL " + url); 
          return null;
       }
 
       HttpEntity getResponseEntity = getResponse.getEntity();
       return getResponseEntity.getContent();
 
    } 
    catch (IOException e) {
       getRequest.abort();
       Log.w(getClass().getSimpleName(), "Error for URL " + url, e);
    }
 
    return null;
 
 }
 
public void get_liste_arrives(){  
 
	String url="http://10.0.2.2:8888/get_list_arrives.php";
	 Log.i("results arrives", "01");
	InputStream source = retrieveStream(url);
	 Log.i("results arrives", "02");
    Gson gson = new Gson();
 
    Reader reader = new InputStreamReader(source);
    List_arrives response = null;
    try{
     response= gson.fromJson(reader, List_arrives.class);
    }
    catch (Exception e) {
		// TODO: handle exception
	}
    Log.i("results arrives", "03");
 
        if(response !=null)
    {
    	 Log.i("results arrives", "04");
    	 results = response.arrives;
 
    			 Log.i("results arrives", "05");
    }
 
       Log.i("results arrives", ""+results.size()); 
 
}
 
	public void afficher_liste_arrives(){
 
 
	if(results!=null && results.size() > 0 )
	{
 
		item_com_Arrive adapter=new item_com_Arrive(liste_arrive.this, results);
		list.setAdapter(adapter);
 
		//Teliste_vide_label.setVisibility(View.INVISIBLE);
		list.setVisibility(View.VISIBLE);
	}
    else
	{
    	//Teliste_vide_label.setVisibility(View.VISIBLE);
		list.setVisibility(View.INVISIBLE);
 
				}
        		}
}