GridView和SimpleAdapter
这次的作业是用GridView和SimpleAdapter完成九宫格的手机界面的九宫格
1)在xml中添加GridView用于显示一个网格,代码:
<GridView
android:id="@+id/GridView1"
android:horizontalSpacing="10dp"
android:verticalSpacing="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numColumns="3"/>
2)然后,创建每一项的布局activity.xml的代码:
接下来要准备数据源和创建适配器并绑定,其相关的Java代码为:
public class MainActivity extends AppCompatActivity {
private GridView gv;
private int[] img = {R.drawable.blue, R.drawable.cat, R.drawable.fish, R.drawable.gray, R.drawable.sun,
R.drawable.tree, R.drawable.tuzi, R.drawable.view, R.drawable.yezi};
private List<Integer> list = new ArrayList<Integer>();
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);
GridView gv = (GridView) findViewById(GridView1);
SimpleAdapter adapter = new SimpleAdapter(this, getData(), R.layout.support_simple_spinner_dropdown_item, new String[]{"img"},
new int[]{R.id.image});
gv.setAdapter(adapter);
//创建适配器并绑定
}
//准备数据源,添加图片的数据
private ArrayList<Map<String, Object>> getData() {
ArrayList<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("img", R.drawable.blue);
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.cat);
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.fish);
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.gray);
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.sun);
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.tree);
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.tuzi);
list.add(map);
map = new HashMap<String, Object>();
map.put("img", R.drawable.view);
list.add(map);
map.put("img", R.drawable.yezi);
list.add(map);
return list;
}
}