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;

    }
    }

  • 效果图如下:

posted @ 2017-05-07 16:28  yeech  阅读(106)  评论(1)    收藏  举报