Adapter之GridAdapter

前言:

在我们写界面的时候想让我们展示的页面是网格的,这是我们可以使用GridAdapter,这个和listView的使用有相似之处,如果学过ListView的话还是很简单的

正文:

下面我们来看看GridAdapter的尊荣

首先在主活动中添加如下代码,表示你目前所使用的是GridAdapter

<GridView
        android:id="@+id/grid"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:numColumns="3" >
</GridView>

上面代码中numColumns的属性值表示有多少列,如果没有numColumns,和ListView没有什么区别

下面是Java的代码:

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.SimpleAdapter;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MainActivity extends AppCompatActivity {
    private GridView grid;
    private String []names={"QQ"};
    private int[]image={R.drawable.qq};
    private SimpleAdapter adapter;
    private List<Map<String,Object>>list;
    private Map<String,Object>map;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        grid=(GridView)findViewById(R.id.grid);
        map=new HashMap<String,Object>();
        list=new ArrayList<>();
        map.put("名字",names[0]);
        map.put("图片",image[0]);
        list.add(map);
        String[]from={"名字","图片"};
        int[]to={R.id.textView,R.id.image};
        adapter=new SimpleAdapter(MainActivity.this,list,R.layout.grid_item,from,to);
        grid.setAdapter(adapter);
    }
}
另外需自己写一个布局如下
<ImageView
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:id="@+id/image"
        android:src="@drawable/qq"
        android:scaleType="fitXY"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textView"
        android:text="QQ"
        android:textSize="25sp"/>
使用SimpleAdapter来显示视图显示效果是