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