Android控件之Spinner用法实例分析
作者:Ruthless 发布时间:2022-08-06 08:36:33
标签:Android,Spinner
本文实例讲述了Android控件之Spinner用法。分享给大家供大家参考。具体如下:
以下模拟下拉列表的用法
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/LinearLayout01"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android">
<TextView android:text="@string/ys"
android:id="@+id/TextView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="28dip" />
<Spinner android:id="@+id/Spinner01"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
SpinnerActivity类:
package com.ljq.sp;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.AdapterView.OnItemSelectedListener;
public class SpinnerActivity extends Activity {
private Spinner sp = null;//下拉列表
private TextView tv = null;
// 所有资源图片的数组
private int[] drawableIds={R.drawable.football,R.drawable.basketball,R.drawable.volleyball};
// 所有字符串的数组
private int[] msgIds={R.string.zq,R.string.lq,R.string.pq};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.TextView01);
sp=(Spinner)this.findViewById(R.id.Spinner01);//初始化Spinner
sp.setAdapter(adapter);
sp.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int positon, long id) {
LinearLayout ll = (LinearLayout) view;
View v=ll.getChildAt(0);//获取第一个控件ImageView
Log.i("ljq", v.getClass().getName());
TextView tvn = (TextView) ll.getChildAt(1);//获取第二个控件TextView
StringBuilder sb = new StringBuilder();
sb.append(getResources().getText(R.string.ys)).append(":").append(tvn.getText());
tv.setText(sb.toString());
}
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
private BaseAdapter adapter = new BaseAdapter(){
public int getCount() {
return drawableIds.length;
}
public Object getItem(int position) {
return drawableIds[position];
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
LinearLayout ll = new LinearLayout(SpinnerActivity.this);
ll.setOrientation(LinearLayout.HORIZONTAL);
ImageView iv = new ImageView(SpinnerActivity.this);
iv.setImageResource(drawableIds[position]);
ll.addView(iv);
TextView tv=new TextView(SpinnerActivity.this);
tv.setText(msgIds[position]);//设置内容
tv.setTextSize(24);
tv.setTextColor(R.color.black);
ll.addView(tv);
return ll;
}
};
}
运行结果
希望本文所述对大家的Android序设计有所帮助。


猜你喜欢
- Gson反序列化原理原理简述gson反序列化主要分为两个过程:根据TypeToken创建出对象根据json字符串解析数据,对对象属性赋值对象
- 一. 什么是蓝牙(Bluetooth)?1.1 BuleTooth是目前使用最广泛的无线通信协议1.2 主要针对短距
- 一、AtomicReference 基本使用我们这里再聊起老生常谈的账户问题,通过个人银行账户问题,来逐渐引入 AtomicReferenc
- 开发前准备支付宝开发平台.支付宝沙箱环境申请使用!!!重点 授权回调地址必须要写全路径也就是controller最终路径(下面有具体细节)R
- @requestBody的作用及说明1、@requestBody注解常用来处理content-type不是默认的application/x-
- 一、什么是锁擦除锁擦除是指虚拟机即时编译器(JIT)在运行时,对一些代码上要求同步,但是被检测到不可能存在共享数据竞争的锁进行擦除。锁擦除的
- Demo环境JDK8Maven3.6.3springboot2.4.3redis_version:6.2.1仓库地址https://gite
- 对于单链表不熟悉的可以看一下基于Java实现单链表的增删改查一、原地反转1、新建一个哨兵节点下一结点指向头结点2、把待反转链表的下一节点插入
- 本文实例为大家分享了C#字符串倒序写法的实现代码,供大家参考,具体内容如下//string concatenation with for l
- using System.Drawing;using System.Drawing.Imaging;using System.IO;usin
- 最近 * 丝的公司想要为以前的那个网页产品加上一个过滤的功能,废话不多说,直接看筛选的界面是啥样的吧:可以看出,我们的Message分为Crit
- 首先我们发现现在我们所用的android智能手机大部分都有当你在打电话时按power键来挂断电话,一般都是在设置中。 我主要是在原生源码中添
- 网上查找资料要么是细节不够失败要么是根本没用也不需要这么复杂,在这里总结一下本人在宝塔部署前端和后端的方法。1.在宝塔上添加站点&u
- Windows 服务(即,以前的 NT 服务)使您能够创建在它们自己的 Windows 会话中可长时间运行的可执行应用程序。这些服务可以在计
- 我们从书本上学到什么?最明显的,也是直观的方式,在Java中生成随机数只要简单的调用:java.lang.Math.random()在所有其
- 本文实例讲述了Java实现的微信公众号获取微信用户信息。分享给大家供大家参考,具体如下:注: 这里获取用户信息方式和网页授权获取
- 自定义Starter命名规则注意artifactId的命名规则,Spring官方Starter通常命名为spring-boot-starte
- Java继承方法重写是Java语言多态的特性,必须满足以下条件在子类中,方法名称与父类方法名称完全相同方法的参数个数和类型完全相同,返回类型
- 最近一段时间不想使用Session了,想感受一下Token这样比较安全,稳健的方式,顺便写一个统一的接口给浏览器还有APP。所以把一个练手项
- 之前看到过一个数字进度条,一直想写,今天就把这个实现下,想起来也是很简单的,先看下实现的效果:思路:绘制2根线 绘制进度条的文字,不断的改变