5.7作业
题目内容依旧给的很简单,就是要求得用SimpleAdapter来实现。与上次作业类似,所以我也不给很多代码的说明了。而且觉得比较简单
先上布局代码,因为是要求做一个九宫格,类似手机里面点击图库显示的样子,所以用到的了一个GridView,以下是一部分布局主要代码,用到的是LinearLayout布局。
<GridView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/gridview" android:numColumns="3" android:verticalSpacing="15dp" android:horizontalSpacing="13dp" android:gravity="center" android:stretchMode="columnWidth" > </GridView>
创建每一项的布局Item.xml文件,很简单只要创建一个ImageView就可以了,一下也是主要的一部分布局代码。
<ImageView android:layout_width="120dp" android:layout_height="120dp" android:id="@+id/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; } }
效果图如下: