Android——GridView(显示文字)

activity_test9的layout文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.hanqi.testapp2.TestActivity9">
11 
12     <GridView
13         android:layout_width="match_parent"
14         android:layout_height="match_parent"
15         android:id="@+id/gv_1"
16         android:numColumns="4"
17         android:stretchMode="columnWidth"
18         android:gravity="center"
19         android:horizontalSpacing="30dp"></GridView>
20 </LinearLayout>

gridview_layout的layout文件:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:orientation="vertical"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent">
 6 
 7     <ImageView
 8         android:layout_width="110dp"
 9         android:layout_height="110dp"
10         android:src="@drawable/f1"
11         android:id="@+id/iv_3"/>
12     <TextView
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:id="@+id/tv_3"
16         android:text="dfasf"/>
17 </LinearLayout>

TestActivity9的java类:

  1 package com.hanqi.testapp2;
  2 
  3 import android.os.Bundle;
  4 import android.support.v7.app.AppCompatActivity;
  5 import android.view.View;
  6 import android.view.ViewGroup;
  7 import android.widget.BaseAdapter;
  8 import android.widget.GridView;
  9 import android.widget.ImageView;
 10 import android.widget.TextView;
 11 
 12 import java.util.ArrayList;
 13 import java.util.List;
 14 
 15 public class TestActivity9 extends AppCompatActivity {
 16 
 17     GridView gv_1;
 18     List<MyClass> liv;
 19     TextView tv_3;
 20     ImageView iv_3;
 21     @Override
 22     protected void onCreate(Bundle savedInstanceState) {
 23         super.onCreate(savedInstanceState);
 24         setContentView(R.layout.activity_test9);
 25         gv_1 = (GridView)findViewById(R.id.gv_1);
 26         tv_3 = (TextView)findViewById(R.id.tv_3);
 27         iv_3 = (ImageView)findViewById(R.id.iv_3);
 28 
 29         //1、数据 图片的id
 30         liv = new ArrayList<>();
 31         MyClass myClass = new MyClass(R.drawable.f1,"美食1的介绍");
 32         liv.add(myClass);
 33         liv.add(new MyClass(R.drawable.f2,"美食2的介绍"));
 34         liv.add(new MyClass(R.drawable.f3,"美食3的介绍"));
 35         liv.add(new MyClass(R.drawable.f4,"美食4的介绍"));
 36         liv.add(new MyClass(R.drawable.f5,"美食5的介绍"));
 37         liv.add(new MyClass(R.drawable.f6,"美食6的介绍"));
 38         liv.add(new MyClass(R.drawable.f7,"美食7的介绍"));
 39         liv.add(new MyClass(R.drawable.f8,"美食8的介绍"));
 40         liv.add(new MyClass(R.drawable.f9,"美食9的介绍"));
 41         ImageAdapter imageAdapter = new ImageAdapter();
 42         {
 43             gv_1.setAdapter(imageAdapter);
 44         }
 45     }
 46     class MyClass
 47     {
 48         private int img;
 49         private String content;
 50 
 51         public int getImg() {
 52             return img;
 53         }
 54 
 55         public void setImg(int img) {
 56             this.img = img;
 57         }
 58 
 59         public String getContent() {
 60             return content;
 61         }
 62 
 63         public void setContent(String content) {
 64             this.content = content;
 65         }
 66         public MyClass(int img,String content)
 67         {
 68             this.img = img;
 69             this.content = content;
 70         }
 71     }
 72     //适配器
 73     class ImageAdapter extends BaseAdapter
 74     {
 75         @Override
 76         public int getCount() {
 77             return liv.size();
 78         }
 79 
 80         @Override
 81         public Object getItem(int position) {
 82             return liv.get(position);
 83         }
 84 
 85         @Override
 86         public long getItemId(int position) {
 87             return 0;
 88         }
 89 
 90         @Override
 91         public View getView(int position, View convertView, ViewGroup parent) {
 92             //1.得到数据 图片的id
 93             MyClass myClass = liv.get(position);
 94             //2.准备View
 95             if (convertView ==null) {
 96                 convertView = View.inflate(TestActivity9.this, R.layout.gridview_layout, null);
 97             }
 98             //3.适配
 99             //转换
100             ImageView imageView = (ImageView)convertView.findViewById(R.id.iv_3);
101             imageView.setImageResource(myClass.getImg());
102 
103             TextView textView = (TextView)convertView.findViewById(R.id.tv_3);
104             textView.setText(myClass.getContent());
105 
106             return convertView;
107         }
108     }
109 }

效果图:

原文地址:https://www.cnblogs.com/hanazawalove/p/5513218.html