suis en utilisant une méthode normale et volley on_response ou méthode on_error. mon code est d'extraire les données de sqlite et de les ajouter à une liste de matrices et de créer un adaptateur avec cette liste et de placer cet adaptateur dans un autocompletetextview. J'utilise la même ligne de codes à cet effet dans les deux méthodes, mais dans la méthode normale, un seul élément sera présent dans l'adaptateur, mais dans la méthode de volée il y aura tous les éléments dans l'adaptateur, je ne comprends pas quel est le problème. je dois méthode normale s'énerverméthode normale ne fonctionne pas mais la méthode de volée fonctionne parfaitement
noramal methos:
private void prepareMyLists() {
ArrayList<String> arrlist = new ArrayList<String>();
String selectQuerys = "select distinct location from tb_user where location like" +
"'"+autoservice.getText().toString()+"%'"+" or "+"'% "+autoservice.getText().toString()+"%'";
SQLiteDatabase dbs = sq.getReadableDatabase();
Cursor cursors = dbs.rawQuery(selectQuerys, null);
while (cursors.moveToNext())
arrlist.add((cursors.getString(cursors.getColumnIndex("location"))));
adapter1 = new ArrayAdapter<String>(
getBaseContext(),
R.layout.drop_list_item,
arrlist);
autocompletetextview.setAdapter(adapter1);
}
}
Méthode Volley:
private void prepareMyList() {
String LOCATION = "http://android.thusharaphotos.com/sear778ch11.php";
StringRequest stringRequest = new StringRequest(Request.Method.POST,LOCATION, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
ArrayList<String> arrlist = new ArrayList<String>();
String selectQuerys = "select distinct location from tb_user where location like" +
"'"+autoservice.getText().toString()+"%'"+" or "+"'% "+autoservice.getText().toString()+"%'";
SQLiteDatabase dbs = sq.getReadableDatabase();
Cursor cursors = dbs.rawQuery(selectQuerys, null);
while (cursors.moveToNext())
arrlist.add((cursors.getString(cursors.getColumnIndex("location"))));
adapter1 = new ArrayAdapter<String>(
getBaseContext(),
R.layout.drop_list_item,
arrlist);
autocompletetextview.setAdapter(adapter1);
}
}) {
@Override
protected Map<String, String> getParams() {
Map<String, String> params = new HashMap<String, String>();
params.put("location_name", autoservice.getText().toString());
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(getBaseContext());
requestQueue.add(stringRequest);
}
onclick pour autocompleteTextView
autocompletetextview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
setLocation((String)parent.getItemAtPosition(position));
}
});
Où est défini sq? –
Sq défini dans oncreate –
Alors que le débogage est à la fois l'arrlist est la même taille? –