2 xiliaoxia xiliaoxia 于 2014.04.18 09:17 提问

【Android】GridView可以操作但不能显示图片

public class MainActivity extends Activity {
int [] imageIds = new int[]
{
R.drawable.one,R.drawable.two,R.drawable.three,
R.drawable.four,R.drawable.five,R.drawable.six

};
ImageSwitcher switcher;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    List<Map<String,Object>> listItems = new ArrayList<Map<String,Object>>();
   for (int i = 0;i<imageIds.length;i++)
   {
    Map<String,Object> items = new HashMap<String,Object>();
    items.put("iamge", imageIds[i]);
    listItems.add(items);

   }    
   switcher = (ImageSwitcher)findViewById(R.id.switcher);
   switcher.setFactory(new ViewFactory()
   {

        @Override
        public View makeView() {
            // TODO Auto-generated method stub
            ImageView imageview = new ImageView(MainActivity.this);
            imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
            imageview.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
            return imageview;
        }

   });
   SimpleAdapter simpleadapter = new SimpleAdapter(this, listItems, R.layout.cell, new String[]{"image"},new int[]{R.id.image1} );
   GridView grid01 = (GridView)findViewById(R.id.grid01);
   grid01.setAdapter(simpleadapter);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

}

2个回答

sylcc_
sylcc_   2014.04.24 11:00
 public View makeView() {
        // TODO Auto-generated method stub
        ImageView imageview = new ImageView(MainActivity.this);
        imageview.setScaleType(ImageView.ScaleType.FIT_CENTER);
        imageview.setLayoutParams(new ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
        return imageview;
    }

这个只是new了一个Imageview,但是没有为该ImageView设置显示内容。

liuzuyi200
liuzuyi200   2014.07.15 10:51

需要为这个Imageview添加内容,
SimpleAdapter s = new SimpleAdapter(getActivity(), lstImageItem,
R.layout.grid, new String[] { "ItemImage", "ItemText" },
new int[] { R.id.Itemimage });
gv.setAdapter(s);

Csdn user default icon
上传中...
上传图片
插入图片