quelqu'un peut-il m'expliquer ce que je fais mal/ce que je dois faire?Définir dynamiquement des images dans la liste personnalisée
J'ai un listview qui obtient ses informations d'un tableau json. Mais il s'agit d'une liste personnalisée, avec 5 images et du texte sur chaque ligne. Chaque image possède un/drawable/image_selector avec des images différentes selon activé/désactivé. Je suis capable de définir dynamiquement le texte pour chaque ligne, en utilisant hashmap et un ListAdapter. Mais j'essaie de faire la même chose avec les images et je ne suis pas capable de le faire. utilise un adaptateur personnalisé le bon choix? et si oui, comment? Je n'ai pas compris à partir des exemples comment les utiliser.
Merci
est ici le code de l'activité donnée: DisponiveisActivity public class {étend ListActivity ; // icônes os para faire la mise en page
private ProgressDialog pDialog;
//Object of class JSON Parser
JSONParser jsonParser = new JSONParser();
ArrayList<HashMap<String, String>> disponiveislist;
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.list);
disponiveislist = new ArrayList<HashMap<String, String>>();
new Loaddisp().execute();
}
//Background ASYNC task to load
class Loaddisp extends AsyncTask<String, String, String>{
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(DisponiveisActivity.this);
pDialog.setMessage("Carregando");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
protected String doInBackground(String... args) {
String nome = l.getString("NOME");
String preco = l.getString("PRECO");
String cfotografia = l.getString("COMFOTOGRAFIA");
String cdados = l.getString("COMDADOS");
String copiniao = l.getString("COMOPINIAO");
String cdeslocacao = l.getString("COMDESLOCACAO");
String distancia = l.getString("DISTANCIA");
//create new HASHMAP
HashMap<String,String> map = new HashMap<String,String>();
map.put("NOME", nome);
map.put("PRECO", preco);
map.put("DISTANCIA", distancia);
map.put("COMOPINIAO", copiniao);
map.put("COMDADOS", cdados);
map.put("COMFOTOGRAFIA", cfotografia);
//------------------------------
disponiveislist.add(map);
}
@Override
protected void onPostExecute(String file_url) {
// TODO Auto-generated method stub
pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
/**
* Updating parsed JSON data into ListView
* */
Log.d("PP",disponiveislist.toString());
ListAdapter adapter = new SimpleAdapter(DisponiveisActivity.this, disponiveislist, R.layout.listrow,new String[]{"NOME","PRECO","DISTANCIA"}, new int[]{R.id.mission_name, R.id.preco, R.id.cdistancia});
setListAdapter(adapter);
}
});
}
}
}
Vous devriez probablement envoyer votre code afin que nous puissions voir s'il y a quelque chose de mal – Guardanis
vient d'éditer avec quelques extraits de mon code – user1437481