通过对Spinner下拉列表控件的学习,大概总结步骤如下:
1、在layout目录下创建main.xml布局文件,用于Spinner下拉列表布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Spinner
android:id="@+id/spinnerId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
2、在layout目录下创建item.xml布局文件,这个布局文件主要是用于下拉列表显示内容:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/textViewId"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
3、创建一个MainActivity继承Activity
package com.spinner;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.AdapterView.OnItemSelectedListener;
public class MainActivity extends Activity {
//声明Spinner对象
private Spinner spinner = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//通过ID,得到Spinner对象
spinner = (Spinner) findViewById(R.id.spinnerId);
List<String> list = new ArrayList<String>();
list.add("test1");
list.add("test2");
//调用ArrayAdapter的构造函数来创建ArrayAdapter对象
//第一个参数是指上下文对象
//第二个参数指定了下拉菜单当中每一个条目的样式
//第三个参数指定了TextView控件的ID
//第四个参数为整个列表提供数据
ArrayAdapter adapter = new ArrayAdapter(this,R.layout.item,R.id.textViewId,list);
//通过createFromResource方法创建一个ArrayAdapter对象
//第一个参数是指上下文对象
//第二参数引用了在strings.xml文件当中定义的String数组
//第三个参数是用来指定Spinner的样式,是一个布局文件ID,该布局文件由Android系统提供,也可替换为自己定义的布局文件
/*ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
this, R.array.planets_array,
android.R.layout.simple_spinner_item);
*/ //设置Spinner当中每个条目的样式,同样是引用一个Android系统提供的布局文件
//adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
//设置下拉列表名称
spinner.setPrompt("测试");
//为spinner对象绑定监听器
spinner.setOnItemSelectedListener(new SpinnerOnSelectedListener());
}
//这个监听器主要用来监听用户选择列表的动作
class SpinnerOnSelectedListener implements OnItemSelectedListener{
//当用户选定了一个条目时,就会调用该方法
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position,
long id) {
String selected = adapterView.getItemAtPosition(position).toString();
System.out.println(selected);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
System.out.println("nothingSelected");
}
}
}
分享到:
相关推荐
本篇文章将详细讲解如何在Android应用中使用Spinner,并结合具体的"android spinner使用案例"来深入理解其工作原理和用法。 ### 1. Spinner的基本概念 Spinner是Android SDK中的一个视图组件,属于`android.widget...
主要为大家详细介绍了Android列表选择框Spinner的使用方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在本例"spinner使用2"中,我们将深入探讨Spinner的使用方法,以及如何在实际项目中有效地集成这个控件。 首先,Spinner的基本使用步骤包括以下几个方面: 1. **添加Spinner到布局文件**:在XML布局文件中,我们...
除了基本的使用方式,Spinner还可以与数据库、网络数据等结合,通过CursorAdapter或者自定义Adapter进行数据绑定。此外,还可以自定义下拉列表的动画效果,通过修改spinner_popup属性实现。 总之,Android Spinner...
4. 还可以通过Java或Kotlin代码来监听Spinner的选择事件,实现`OnItemSelectedListener`接口,重写`onItemSelected()`方法,以处理用户选择项后的逻辑。 5. 动画效果是MaterialSpinner的一大特色,其展开和关闭的...
本教程将深入探讨Spinner的基本使用方法,包括通过数组和XML数据源设置Spinner,以及不同样式的实现。 首先,我们从最基础的`Day04_Spinner01`开始。在这个示例中,我们将直接在Java代码中创建Spinner并设置其数据...
vue-simple-spinner Vue.js的简单灵活的微调器vue-simple-spinner设计为轻巧的微调器,需要...ES6 以下示例也可以与CommonJS一起使用,方法是将ES6特定的语法替换为CommonJS等效项。 import Vue from 'vue'import Spinn
本文主要介绍了 Android Studio 中下拉菜单 Spinner 的使用详解,包括 Spinner 的相关属性、使用方法和示例程序,以及与 Gallery 组件的区别和用法。希望对大家的学习有所帮助,也希望大家多多支持我们。
- 如果在Fragment中使用Spinner,记得在`onCreateView()`或`onActivityCreated()`方法中初始化,而不是在`onCreate()`。 - 在处理点击事件时,注意`onItemSelected()`在首次加载时也会被调用,此时的position通常...
例如,可以在getView()方法中检查当前位置的值,并设置Spinner的选中状态: ```java @Override public View getView(int position, View convertView, ViewGroup parent) { View itemView = ...; // 初始化或复用...
在Android开发中,Spinner是一个非常常用的控件,它提供了...了解并掌握Spinner的使用方法和自定义技巧,将有助于提升应用的用户体验和功能多样性。在实际开发中,根据具体需求灵活运用,可以使Spinner发挥更大的作用。
在本教程中,我们将深入探讨如何在Android应用程序中有效地使用Spinner。 首先,我们需要在布局文件中添加Spinner。在XML布局文件中,使用`<Spinner>`标签来定义Spinner。例如: ```xml <Spinner android:id="@+...
在"extjs 的spinner方法实例"中,我们将探讨如何使用和自定义Spinner组件。 Spinner 控件在 ExtJS 中属于 `Ext.form.field.Spinner` 类,它继承自 `Ext.form.field.Number`,因此具备数字字段的所有功能,同时添加...
下面我们将深入探讨如何在Android应用中使用Spinner,包括其基本用法、自定义适配器以及事件监听。 1. **基本使用** - **添加Spinner到布局**:首先,在XML布局文件中添加Spinner元素,通过`android:id`设置唯一...
- 当Spinner模式为`dropdown`时,可以使用`SpinnerAdapter`的`getDropDownView()`方法来自定义下拉列表的样式。 - 如果希望进一步自定义下拉列表的动画和行为,可以使用`Spinner`的`setOnItemSelectedListener()`...
本教程将深入探讨如何在SpinnerTest项目中使用自定义适配器,以实现更灵活的数据绑定和展示。适配器(Adapter)是Android系统中连接数据源和视图组件的关键桥梁,而BaseAdapter作为基础类,为我们提供了自定义适配器...
8. **适配器的类型安全**:尽管SpinnerAdapter是一个泛型接口,但实际使用时我们通常使用如ArrayAdapter或CursorAdapter,它们提供了更具体的类型安全性和便利性。 源码分析方面,我们可以看到Spinner在处理触摸...
在本案例中,我们将深入探讨Spinner的使用方法,包括如何创建、设置数据源、监听用户选择以及自定义样式。 首先,Spinner的创建通常在布局XML文件中完成。在`res/layout`目录下,打开或创建一个XML布局文件,添加...
在本教程中,我们将详细探讨如何使用Spinner来实现一个包含城市名字的下拉列表,并将选定的城市显示在TextView上。 1. **Spinner的基本结构** Spinner是由Adapter驱动的,Adapter是Android中连接数据源和视图的...