运行后只显示文字,不显示图片
MainActivity
package com.example.gridview; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.Activity; import android.os.Bundle; import android.widget.GridView; import android.widget.SimpleAdapter; public class MainActivity extends Activity { private GridView gridView; private List<Map<String,Object>>dataList; private int[]icon={R.drawable.address_book,R.drawable.calendar,R.drawable.camera,R.drawable.clock, R.drawable.games_control,R.drawable.messenger,R.drawable.ringtone,R.drawable.settings, R.drawable.speech_balloon,R.drawable.weather,R.drawable.world,R.drawable.youtube}; private String[]iconName={ "联系人", "日历", "照相机", "时钟", "游戏", "短信", "铃声", "设置", "语音", "天气", "浏览器", "Youtube" }; private SimpleAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); gridView = (GridView) findViewById(R.id.gridView); //准备数据源 //新建适配器(simpleAdapter) //GridView加载适配器 //GridView配置监听器(OnItemClickListener) dataList = new ArrayList<Map<String,Object>>(); //getData(); adapter = new SimpleAdapter(this, getData(), R.layout.item, new String[]{"image","text"}, new int[]{R.id.image,R.id.text}); gridView.setAdapter(adapter); } private List<Map<String,Object>> getData() { // TODO Auto-generated method stub for(int i=0;i<icon.length;i++){ Map<String,Object>map = new HashMap<String, Object>(); map.put("iamge", icon[i]); map.put("text", iconName[i]); dataList.add(map); } return dataList; } }
layout main
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <GridView android:layout_marginTop="10dp" android:id="@+id/gridView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numColumns="3" android:horizontalSpacing="10dp" android:verticalSpacing="10dp" ></GridView> </LinearLayout>
layout item
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#000000" android:gravity="center" android:orientation="vertical" > <ImageView android:id="@+id/image" android:layout_width="60dp" android:layout_height="60dp" android:src="@drawable/ic_launcher" /> <TextView android:id="@+id/text" android:layout_marginTop="5dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="文字" android:textColor="#ffffff" /> </LinearLayout>