Android Spinner和GridView组件怎么用
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关Android Spinner和GridView组件怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一. 概述:Spinner是我们
千家信息网最后更新 2026年11月03日Android Spinner和GridView组件怎么用
这篇文章将为大家详细讲解有关Android Spinner和GridView组件怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一. 概述:
Spinner是我们所熟悉的下拉框列表。与ListView类似,我们必须为Spinner对象指定一个Adapter。我们从Spinner的简单用法开始讲述。

二. 实现
MainActivity.java
package com.example.demo03_29; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle;import android.view.View;import android.widget.Adapter;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.Spinner;import android.widget.TextView; public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener { TextView choice; ArrayAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); choice=(TextView) this.findViewById(R.id.choice); Spinner spinner=(Spinner)this.findViewById(R.id.sp1); adapter=ArrayAdapter.createFromResource(this, R.array.habit, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); spinner.setOnItemSelectedListener(this); } @Override public void onItemSelected(AdapterView> adapterView, View view, int i, long l) { choice.setText(adapter.getItem(i)); } @Override public void onNothingSelected(AdapterView> adapterView) { }} 在values包下的 string.xml
Demo03-29 - 10公里夜跑
- 爬山
- 游泳
- 吃饭
- 打代码
activity_main.xml
sipnner_down.xml
这个布局比较简单,就是在LinearLayout中放置一个LinearLayout、一个分隔组件用的View和一个显示所选结果的TextView。在其中嵌套的LinearLayout中放置一个用于提示用的TextView和下拉框Spinner。
三. 美化
MyAdapter.java
package com.example.demo03_29; import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ArrayAdapter;import android.widget.ImageView;import android.widget.TextView; import androidx.annotation.NonNull; public class MyArrayApater extends ArrayAdapter { private LayoutInflater minflater; String[] titles; String[] desc={ "集成工具", "高速保存,随时存储", "优质资源,尽在迅雷", "集成开发工具", "学习神器" }; int[] photos={R.drawable.p1,R.drawable.p2,R.drawable.p3,R.drawable.p4,R.drawable.p5}; public MyArrayApater(@NonNull Context context, int resource, CharSequence[] objects) { super(context, resource, objects); minflater=(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); titles=context.getResources().getStringArray(R.array.habit); } @Override public int getCount(){ return titles.length; } @Override public View getDropDownView(int position, View convertView, ViewGroup parent){ View v; v=minflater.inflate(R.layout.spinner_down,parent,false); ImageView iv=(ImageView)v.findViewById(R.id.p01); iv.setImageResource(photos[position]); TextView tv01=(TextView) v.findViewById(R.id.t1); tv01.setText(titles[position]); TextView tv02=(TextView) v.findViewById(R.id.t2); tv02.setText(desc[position]); return v; }}修改 MainActivity.java
四. GridView
GridView以二维表格的方式显示数据,若数据比较多,该组件将提供垂直滚动条。我们用一个列子来说明GridView的使用方法。
activity_main.xml
ImgeAdapter.java
package com.example.demo0330; import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.GridView;import android.widget.ImageView; public class ImageAdapter extends BaseAdapter { private int[] images={ R.drawable.p1, R.drawable.p2, R.drawable.p3, R.drawable.p4, R.drawable.p1, R.drawable.p2, R.drawable.p3, R.drawable.p4, R.drawable.p1, R.drawable.p2, R.drawable.p3, R.drawable.p4, R.drawable.p1, R.drawable.p2, R.drawable.p3, R.drawable.p4, R.drawable.p1, R.drawable.p2, R.drawable.p3, R.drawable.p4, }; private Context context; public ImageAdapter(Context context){ this.context=context; } @Override public int getCount() { return images.length; } @Override public Object getItem(int position) { return images[position]; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView==null){ imageView=new ImageView(context); int width= GridView.LayoutParams.MATCH_PARENT; int heght= GridView.LayoutParams.MATCH_PARENT; imageView.setLayoutParams(new ViewGroup.LayoutParams(width,heght)); imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE); }else{ imageView=(ImageView) convertView; } imageView.setImageResource(images[position]); return imageView; }}MainActivity.java
package com.example.demo0330; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.GridView;import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GridView gridView=(GridView) findViewById(R.id.gr1); gridView.setAdapter(new ImageAdapter(this)); gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView> adapterView, View view, int position, long l) { Toast.makeText(MainActivity.this,"现在点击的是位置在"+(position+1)+"张照片",Toast.LENGTH_LONG).show(); } }); }}效果图:

关于"Android Spinner和GridView组件怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
组件
篇文章
中放
工具
数据
更多
下拉
不错
实用
代码
位置
使用方法
内容
对象
就是
布局
开发工具
效果
效果图
文章
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网黑科技
互联网是不是新科技
新华互联网科技学院
互联网 科技公司
北京互联网科技公司
互联网科技集团
上海挚品互联网科技
新浪科技互联网
上海万想互联网科技
衡水科技产业互联网平台
互联网公司会议桌创意科技软装饰
中国互联网有什么科技含量
宝灵互联网科技有限公司
互联网保险科技创业
东莞新华互联网科技学校
互联网安防科技感
图游互联网科技
35岁以上互联网科技行业
互联网科技手机排行榜
互联网公司属于科技吗
南京欣网互联网络科技
互联网加科技
广州紫鲸互联网科技有限公司
互联网的科技
互联网科技行业发展
金融科技和互联网金融
恒生科技互联网指数分析
济南有互联网科技公司吗
互联网科技融合创新
小牛互联网科技有限公司地址