Я новичок в android, и я столкнулся с проблемой в строке «ListAdapter adapter», может ли кто-нибудь помочь мне ниже, я упомянул мой код, в котором изображение не отображается, потому что map.put значение изображения не может конвертировать обратно в int из строки.Установить изображение в listview
MainActivity.java
public class MainActivity extends Activity {
private int id;
private Time today = new Time(Time.getCurrentTimezone());
private ImageView aImage;
private Bitmap bMap;
private ListView listView;
private ArrayList<HashMap<String, String>> values = new ArrayList<HashMap<String, String>>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//aImage = (ImageView)findViewById(R.id.AImage);
listView = (ListView) findViewById(R.id.list);
java.lang.reflect.Field[] list = R.drawable.class.getFields();
//for(int i=0;i<list.length;i++){
for (int i=0;i<9;i++){
try {
id = list[i].getInt(null);
today.setToNow();
//System.out.println("------------------"+id+"---------------");
bMap = BitmapFactory.decodeResource(getResources(), id);
bMap = Bitmap.createScaledBitmap(bMap, 50, 50, true);
//aImage.setImageBitmap(bMap);
HashMap<String, String> map = new HashMap<String, String>();
map.put("img", String.valueOf(bMap));
map.put("time", today.format("%k:%M"));
values.add(map);
new CheckinDetail().execute();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
}
class CheckinDetail extends AsyncTask<String, String, String> {
@SuppressWarnings("deprecation")
protected String doInBackground(String... args) {
return null;
}
/**
* After completing background task Dismiss the progress dialog
* **/
protected void onPostExecute(String file_url) {
// updating UI from Background Thread
runOnUiThread(new Runnable() {
public void run() {
/**
* Updating parsed JSON data into ListView
* */
//int in = Integer.valueOf(et.getText().toString());
ListAdapter adapter = new SimpleAdapter(MainActivity.this, values, R.layout.rowlayout, new String[] { "img","time"},new int[] { R.id.AImage, R.id.time});
listView.setAdapter(adapter);
listView.setCacheColorHint(Color.TRANSPARENT);
}
});
}
}
}
Использование HashMap map = new HashMap (); В этом случае вы можете поместить экземпляры Bitmap в хэш-набор. –
Antonio