Adapter之GridAdapter

Posted z-cg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Adapter之GridAdapter相关的知识,希望对你有一定的参考价值。

前言:

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

正文:

下面我们来看看GridAdapter的尊荣

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

1 <GridView
2         android:id="@+id/grid"
3         android:layout_width="match_parent"
4         android:layout_height="match_parent"
5         android:numColumns="3" >
6 </GridView>

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

下面是Java的代码:

 1 import android.support.v7.app.AppCompatActivity;
 2 import android.os.Bundle;
 3 import android.widget.GridView;
 4 import android.widget.SimpleAdapter;
 5 
 6 import java.util.ArrayList;
 7 import java.util.HashMap;
 8 import java.util.List;
 9 import java.util.Map;
10 
11 public class MainActivity extends AppCompatActivity {
12     private GridView grid;
13     private String []names={"QQ"};
14     private int[]image={R.drawable.qq};
15     private SimpleAdapter adapter;
16     private List<Map<String,Object>>list;
17     private Map<String,Object>map;
18     @Override
19     protected void onCreate(Bundle savedInstanceState) {
20         super.onCreate(savedInstanceState);
21         setContentView(R.layout.activity_main);
22         grid=(GridView)findViewById(R.id.grid);
23         map=new HashMap<String,Object>();
24         list=new ArrayList<>();
25         map.put("名字",names[0]);
26         map.put("图片",image[0]);
27         list.add(map);
28         String[]from={"名字","图片"};
29         int[]to={R.id.textView,R.id.image};
30         adapter=new SimpleAdapter(MainActivity.this,list,R.layout.grid_item,from,to);
31         grid.setAdapter(adapter);
32     }
33 }
另外需自己写一个布局如下
 1 <ImageView
 2         android:layout_width="90dp"
 3         android:layout_height="90dp"
 4         android:id="@+id/image"
 5         android:src="@drawable/qq"
 6         android:scaleType="fitXY"
 7         />
 8     <TextView
 9         android:layout_width="wrap_content"
10         android:layout_height="wrap_content"
11         android:id="@+id/textView"
12         android:text="QQ"
13         android:textSize="25sp"/>
使用SimpleAdapter来显示视图
显示效果是
技术图片

 

 

 

 

以上是关于Adapter之GridAdapter的主要内容,如果未能解决你的问题,请参考以下文章

片段活动错误中的ListView Adapter上下文,我该怎么办?

我无法从另一个带有 recyclerview.adaper 的片段中打开带有 recyclerview.adapter 的片段

将数据从 RecyclerView.Adapter 传递到片段 onClick

如何从 RecyclerView.Adapter<CardAdapter.ViewHolder> 打开片段

在 Fragment 中使用 Spinner 和 Adapter

设计模式之Adapter(适配器)(转)