5.07作业
5.7作业
题目内容依旧给的很简单,就是要求得用SimpleAdapter来实现。与上次作业类似,所以我也不给很多代码的说明了。而且觉得比较简单
-
先上布局代码,因为是要求做一个九宫格,类似手机里面点击图库显示的样子,所以用到的了一个GridView,以下是一部分布局主要代码,用到的是LinearLayout布局。
-
创建每一项的布局Item.xml文件,很简单只要创建一个ImageView就可以了,一下也是主要的一部分布局代码。
-
接下来是主要的Java代码
public class MainActivity extends AppCompatActivity {
private GridView gridView;
private SimpleAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gridView=(GridView) findViewById(R.id.gridview);
adapter = new SimpleAdapter(
this,
getData(),
R.layout.photo_item,
new String[]{"imageview"},
new int[]{R.id.imageview});//将数据加载到listview
gridView=(GridView) findViewById(R.id.gridview);
gridView.setAdapter(adapter);//添加listview的每个item的单击的监听事件
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
String data = (String) adapterView.getItemAtPosition(position);
}
});}
private List<HashMap<String, Object>> getData() {
List<HashMap<String, Object>> datas = new ArrayList<>();// 给list增加一条数据
HashMap<String, Object> data = new HashMap<>();
// Map映射添加数据
data.put("imageview", R.drawable.a);
// 将这个map放到list中
datas.add(data);data=new HashMap<>();
data.put("imageview", R.drawable.b);
datas.add(data);data=new HashMap<>();
data.put("imageview", R.drawable.c);
datas.add(data);data=new HashMap<>();
data.put("imageview", R.drawable.d);
datas.add(data);data=new HashMap<>();
data.put("imageview", R.drawable.e);
datas.add(data);data=new HashMap<>();
data.put("imageview", R.drawable.f);
datas.add(data);data=new HashMap<>();
data.put("imageview", R.drawable.g);
datas.add(data);data=new HashMap<>();
data.put("imageview", R.drawable.h);
datas.add(data);data=new HashMap<>();
data.put("imageview", R.drawable.i);
datas.add(data);return datas;
}
} -
效果图如下:
![]()


浙公网安备 33010602011771号