您的位置:首页 > 移动开发 > Android开发

Android 的 Spinner下拉菜单如何实现 和二级以上的三级联动 (一)

2016-12-12 16:51 597 查看
对于Android 开发的时候我们肯定会碰到需要Spinner下拉菜单的时候,这里我们先来介绍一下如何实现三个下拉菜单的简单应用

Spinner的三级请看我下一篇博客吧 http://blog.csdn.net/qq_33599978/article/details/53585116



一.   首先我们需要设置一下activity_main.xml,  这里我们都设置自适应的长和宽,分别给三个Spinner来定义ID

<LinearLayout 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:orientation="horizontal"
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="com.example.m_4spinnew.MainActivity" >

<Spinner android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/sheng_sn"/>
<Spinner android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/cheng_sn"/>
<Spinner android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/qu_sn"/>

</LinearLayout>


二.   然后我们先在MainActivity定义3个Spinner 对象和找到xml里面的Spinner的id
Spinner sheng_sn, cheng_sn, qu_sn;

sheng_sn = (Spinner) findViewById(R.id.sheng_sn);
cheng_sn = (Spinner) findViewById(R.id.cheng_sn);
qu_sn = (Spinner) findViewById(R.id.qu_sn);

三 . 我们这里使用到ArrayAdapter  来存放数据

ArrayAdapter<String> adapter1, adapter2, adapter3;

这里不会的可以看源码

四. 我们进行最后 设置

sheng_sn.setAdapter(adapter1);
cheng_sn.setAdapter(adapter2);
qu_sn.setAdapter(adapter3);

5. 我们这个例子所有用的数据都是自己定义的

看源码。。。。。。。。。。。。

package com.example.m_4spinnew;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
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;
import android.widget.AdapterView.OnItemClickListener;

public class MainActivity extends Activity {
int num;

Spinner sheng_sn, cheng_sn, qu_sn;
private String[] sheng = { "江西", "湖南" };
private String[][] cheng = { { "城市", "景点" }, { "张家界", "美女" },
{ "C周杰伦", "C宝强" } };
private String[][][] qu = { { { "南昌", "赣州" }, { "庐山", "龙虎山" }, },
{ { "黄石寨", "森林公园" }, { "范冰冰", "唐嫣" },  } };
private ArrayAdapter<String> adapter1, adapter2, adapter3;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

adapter1 = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, sheng);
adapter2 = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, cheng[0]);
adapter3 = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, qu[0][0]);

sheng_sn = (Spinner) findViewById(R.id.sheng_sn);
cheng_sn = (Spinner) findViewById(R.id.cheng_sn);
qu_sn = (Spinner) findViewById(R.id.qu_sn);

sheng_sn.setAdapter(adapter1);
cheng_sn.setAdapter(adapter2);
qu_sn.setAdapter(adapter3);}}
  这样我们就可以实现Spinner的简单应用了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android Spinner