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来显示视图显示效果是