誰かが私が間違っていること/私がしなければならないことを説明できますか?
JSON配列から情報を取得するリストビューがあります。ただし、これはカスタム リストビューで、各行に 5 つの画像といくつかのテキストがあります。各画像には、有効/無効に応じて異なる画像を持つ /drawable/image_selector があります。ハッシュマップと ListAdapter を使用して、各行のテキストを動的に設定できます。しかし、私は画像で同じことをしようとしていますが、それができません。カスタム アダプターの使用は正しい選択ですか? もしそうなら、どのように?私は例からそれらを使用する方法を理解していません。
ありがとう
特定のアクティビティのコードは次のとおりです。 public class DisponiveisActivity extends ListActivity { ; //para os icones はレイアウトを行います
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);
}
});
}
}
}