Android使用Spinner控件实现下拉列表的案例
程序员文章站
2023-02-15 19:09:24
(1)两种方法提冲spinner中的数据源:通过list集合,或者是通过xml文件进行配置
(2)布局代码如下:
(1)两种方法提冲spinner中的数据源:通过list集合,或者是通过xml文件进行配置
(2)布局代码如下:
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context=".mainactivity" > <textview android:id="@+id/textview1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentleft="true" android:layout_alignparenttop="true" android:layout_margintop="46dp" android:text="所属城市" android:textsize="22sp" /> <spinner android:id="@+id/spinner1" android:layout_width="200sp" android:layout_height="wrap_content" android:layout_alignparenttop="true" android:layout_margintop="44dp" android:layout_torightof="@+id/textview1" /> <textview android:id="@+id/textview2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignright="@+id/textview1" android:layout_centervertical="true" android:text="所属星球" /> <spinner android:id="@+id/spinner2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignleft="@+id/spinner1" android:layout_aligntop="@+id/textview2" android:layout_marginleft="21dp" /> </relativelayout>
(3)
package com.example.spinners; import java.util.arraylist; import java.util.list; import android.app.activity; import android.os.bundle; import android.view.menu; import android.view.view; import android.widget.adapterview; import android.widget.adapterview.onitemselectedlistener; import android.widget.arrayadapter; import android.widget.spinner; import android.widget.toast; /** * 通过继承onitemselectedlistener接口来实现选择时的事件 * @author xuliugen * */ public class mainactivity extends activity implements onitemselectedlistener { private spinner spinner1; private spinner spinner2; // private spinneradapter spinneradapter; private arrayadapter<string> adapter; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); spinner1 = (spinner) this.findviewbyid(r.id.spinner1); spinner2 = (spinner) this.findviewbyid(r.id.spinner2); // 第一种手工输入的list adapter = new arrayadapter<string>(mainactivity.this, android.r.layout.simple_spinner_item, getdatasource()); spinner1.setadapter(adapter); //注册监听器 spinner1.setonitemselectedlistener(this); // 第二种:通过加载xml文件配置的数据源 arrayadapter adapter2 = arrayadapter.createfromresource(this, r.array.planets_array, android.r.layout.simple_spinner_item); adapter2.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); spinner2.setadapter(adapter2); } /* * 通过第一种方法:手工输入的list */ public list<string> getdatasource() { list<string> list = new arraylist<string>(); list.add("beijing"); list.add("beida"); list.add("shahai"); list.add("shangjing"); list.add("shanglian"); list.add("chengdu"); return list; } @override public boolean oncreateoptionsmenu(menu menu) { getmenuinflater().inflate(r.menu.main, menu); return true; } @override public void onitemselected(adapterview<?> parent, view view, int position, long id) { string itemstring = spinner1.getitematposition(position).tostring(); toast.maketext(this, "你选中的是" + itemstring, 1).show(); } @override public void onnothingselected(adapterview<?> parent) { } }
(4)资源文件中的配置如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">spinners</string> <string name="action_settings">settings</string> <string name="hello_world">hello world!</string> <string-array name="planets_array"> <item>mercury</item> <item>venus</item> <item>earth</item> <item>mars</item> <item>jupiter</item> <item>saturn</item> <item>uranus</item> <item>neptune</item> </string-array> </resources>
(5)运行结果如下所示:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
上一篇: Flutter倒计时/计时器的实现代码
推荐阅读
-
Android编程使用ListView实现数据列表显示的方法
-
Android编程使用ListView实现数据列表显示的方法
-
Android使用ListView实现下拉刷新及上拉显示更多的方法
-
Android-自定义控件之ListView下拉刷新的实现
-
Android开发使用自定义view实现ListView下拉的视差特效功能
-
使用android中的recylerView控件案例
-
Android开发之瀑布流控件的实现与使用方法示例
-
Android控件Spinner的使用方法(1)
-
Android使用ListView实现下拉刷新及上拉显示更多的方法
-
android应用开发之spinner控件的简单使用