2014-01-19 4 views
1

Я новичок в Android и хочу показать растровое изображение с res и текущее время в ListView. Время отображается в ListView, но изображение не отображается. Пожалуйста, помогите мне.Показать растровое изображение в виде списка

Мой код ниже:

public class MainActivity extends Activity { 

    private int id; 
    static String TIME = "time"; 
    static Bitmap BIMAGE; 
    private Time today = new Time(Time.getCurrentTimezone()); 
    private Bitmap bMap; 
    private ListView listView; 
    private List<HashMap<String, Object>> values = new ArrayList<HashMap<String, Object>>(); 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     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, Object> map = new HashMap<String, Object>(); 

      map.put("img", 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; 
     } 

     protected void onPostExecute(String file_url) { 

      // updating UI from Background Thread 
      runOnUiThread(new Runnable() { 
       public void run() { 

         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); 

       } 
      }); 

     } 
    } 
} 

ответ

0

Вы должны поместить YOUT файл изображения в вытяжке папку в разрешении, то вы можете установить ссылку в макете XML в ImageView как:

<ImageView 
android:id="@+id/photo" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:src="@drawable/yourimage" />  

UPDATE Чтобы добавить изображение

программно
ImageView image = new ImageView(context); 
LinearLayout.LayoutParams vp = new LinearLayout.LayoutParams(pixels, pixels); 
image.setLayoutParams(vp); 
image.setImageResource(R.drawable.yourimage) 
listView.addView(image); 
+0

Конечно, вы можете настроить свои собственные настройки макета – Shaho

+0

Привет, Shaho, я хочу добавить изображения программно с помощью адаптера списка – user3212059

Смежные вопросы