Android简易实战教程--第四十二话《Spinner下拉级联效果》
本篇承接第四十话第四十话《Spinner》
参考博客:http://blog.csdn.net/yayun0516
进入正题:
Strings加入第一级数据:
<string-array name="province">
<item >水果</item>
<item >职位</item>
<item >动物</item>
</string-array>
来个布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" > <LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" > <Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/province"/> <Spinner
android:id="@+id/spinner2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout> <TextView
android:text="nihao"
android:id="@+id/text"
android:textColor="#00ff00"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</TextView> </LinearLayout>
总共两级菜单,一个文本。
主活动代码如下:
package com.ydl.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView; public class MainActivity extends Activity {
private Spinner spinner1;
private Spinner spinner2;
private TextView textView;
private String string1;
private String[][] dataStrings = { { "苹果", "香蕉", "梨子", "菠萝", "草莓", },
{ "教师", "工人", "程序员", }, { "老虎", "狮子", "大象", }, };
private ArrayAdapter<CharSequence> adapter = null; public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); // 生命周期方法
super.setContentView(R.layout.activity_main); // 设置要使用的布局管理器
spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner2 = (Spinner) findViewById(R.id.spinner2);
textView = (TextView) findViewById(R.id.text);
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() { public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
adapter = new ArrayAdapter<CharSequence>(MainActivity.this,
android.R.layout.simple_spinner_item,
dataStrings[position]);//根据position确定第二个spinner中要填充的数据
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);//设置点击下拉窗体的显示样式
//给spinner2设置adapter
spinner2.setAdapter(adapter);
//parent指的是 spinner1
string1 = parent.getItemAtPosition(position).toString();// 获取当前显示省份
} public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub }
}); spinner2.setOnItemSelectedListener(new OnItemSelectedListener() { public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
//parent指的是 spinner2
String string2 = parent.getItemAtPosition(position).toString();// 获取当前显示省份
textView.setText(string1 +" : "+ string2); } public void onNothingSelected(AdapterView<?> parent) {
// TODO Auto-generated method stub }
}); }
}
运行程序如下:
连通完成~
喜欢的朋友可以关注我哦,不定期更新简单有趣的Android小文~
Android简易实战教程--第四十二话《Spinner下拉级联效果》的更多相关文章
- Android简易实战教程--第四十三话《上拉加载与下拉刷新》
ListView的下拉刷新很常见,很多开源的框架都能做到这个效果,当然也可以自己去实现.本篇案例是基于xlistview的. 布局: <RelativeLayout xmlns:android= ...
- Android简易实战教程--第四十六话《RecyclerView竖向和横向滚动》
Android5.X后,引入了RecyclerView,这个控件使用起来非常的方便,不但可以完成listView的效果,而且还可以实现ListView无法实现的效果.当然,在新能方便也做了大大的提高. ...
- Android简易实战教程--第四十八话《Android - Timer、TimerTask和Handler实现倒计时》
之前本专栏文章中的小案例有写到:第三十九话<Chronometer实现倒计时> 以及使用异步实现倒计时:第三十三话< AsyncTask异步倒计时> 本篇文章 结合Timer. ...
- Android简易实战教程--第三十二话《使用Lrucache和NetworkImageView加载图片》
转载本专栏每一篇博客请注明转载出处地址,尊重原创.此博客转载链接地址:小杨的博客 http://blog.csdn.net/qq_32059827/article/details/5279131 ...
- Android简易实战教程--第四十九话《满屏拖动的控件》
今天做个有意思的效果吧,控件的拖拽,简单实用,逻辑清晰点3分钟看完. 说的很高大上,其实就是拖动Button按钮跟着鼠标位置满手机屏幕跑罢了. 直接上简单的代码吧: public class Main ...
- Android简易实战教程--第四十五话《几种对话框》
Android中提供了各种原生的对话框,在使用简单的功能的时候,还不比考虑自定义,使用原生的也能完成功能.本篇简单小案例就介绍三种对话框. 还是直接上代码吧: 布局中三个点击事件的按钮: <Li ...
- Android简易实战教程--第四十四话《ScrollView和HorizontalScrollView简单使用》
一.ScrollView 由于手机屏幕的高度有限,当普通布局放不下现实和的内容时,ScrollView视图(滚动视图)就会派上用场,因为数据可以往下滚动显示. 二.HorizontalScrollVi ...
- Android简易实战教程--第四十话《Spinner》
对于Spinner控件的介绍和使用方法,可以先看之前写过的一篇博客:Spinner控件详解 本篇就基于这个知识点完成一个简单的小案例: 根据介绍,先写一个布局: <?xml version=&q ...
- Android简易实战教程--第五十话《动画扫描》
祝新年快乐!2017(一起)前行. 转载博客请注明出处:道龙的博客 本篇简答的小案例,使用动画知识,完成一个类似雷达扫描效果,并且加入自定义进度条.对于自定义进度条前面有很详细的解析和案例了,本篇就结 ...
随机推荐
- 数据库性能优化(database tuning)性能优化绝不仅仅只是索引
一毕业就接触优化方面的问题,专业做优化也有至少5年之多的时间了,可现在还是经常听到很多人认为优化很简单,就是建索引的问题,这确实不能怪大家,做这行20多年的时间里,在职业生涯的每个阶段,几乎都能听到这 ...
- Apache 配置小技巧
1. 使 Apache 只能通过本地主机访问 1.1. 如果在开发环境中,你希望除了自己以外其他人都无法访问站点,你可以使用以下配置: 首先打开Apache的配置文件httdp.conf,此文件路径为 ...
- JavaScript 字典(Dictionary)
TypeScript方式实现源码 // set(key,value):向字典中添加新元素. // remove(key):通过使用键值来从字典中移除键值对应的数据值. // has(key ...
- [LeetCode] Cut Off Trees for Golf Event 为高尔夫赛事砍树
You are asked to cut off trees in a forest for a golf event. The forest is represented as a non-nega ...
- [LeetCode] Path Sum IV 二叉树的路径和之四
If the depth of a tree is smaller than 5, then this tree can be represented by a list of three-digit ...
- springmvc文件下载之文件名下划线问题终极解决方案
直接上代码:Action中代码片段. @RequestMapping("download")public String download(ModelMap model, @Mode ...
- NC帮助文档网址
NC帮助文档: https://wenku.baidu.com/view/2d05a77c0b4e767f5acfceb6.html NC方法总结: ...
- Centos6.9连接工具设置
由于vm下面的centos6.9这种操作环境非常的不友好,用起来非常的不方便, 所以我们需要用一个远程连接工具来连接,我们的虚拟机.我们使用的是teraterm. 下载地址:https://osdn. ...
- 线程基础(CLR via C#)
1.线程基础 1.1.线程职责 线程的职责是对CPU进行虚拟化.Windows 为每个进程豆提供了该进程专用的线程(功能相当于一个CPU).应用程序的代码进入死循环,于那个代码关联的进程会&quo ...
- [NOI 2007]社交网络
Description 在社交网络(socialnetwork)的研究中,我们常常使用图论概念去解释一些社会现象.不妨看这样的一个问题.在一个社交圈子里有n个人,人与人之间有不同程度的关系.我们将这个 ...