当前位置:首页 > 开发 > 移动开发 > 正文

[Android]实现Spinner控件

发表于: 2012-11-23   作者:暴风雪   来源:转载   浏览次数:
摘要: 首先在布局文件中声明spinner控件 <Spinner android:id="@+id/spner" android:layout_width="fill_parent" android:layout_height="wrap_content"

首先在布局文件中声明spinner控件

    <Spinner 
        android:id="@+id/spner"        
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />

 

如果是静态定义spinner中的元素的话,需要在资源文件string.xml中声明字符串数组

    
    <string-array name="str_ary">
        <item>Earth</item>
        <item>Mars</item>
        <item>Venus</item>
    </string-array>
    

 

在Activity中new一个Spinner变量,并且为其绑定适配器,并安装监听器,设置监听到动作时的操作。

注:注释中的内容是用xml文件中的静态的数组定义适配器

package com.example.spinnerantivity;

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.TextView;

public class MainActivity extends Activity {
	TextView tv1=null;
	Spinner sp1=null;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tv1=(TextView)findViewById(R.id.num);
        sp1=(Spinner)findViewById(R.id.spner);
        tv1.setText("fuck");
        List<String> list=new ArrayList<String>();
        list.add("fuck");
        list.add("shit");
        list.add("bitch");
        ArrayAdapter  adapter=new ArrayAdapter (this,R.layout.spx,R.id.ttx,list);
//   参数1:当前上下文对象。
//   参数2:菜单中每个条目的布局文件,这里使用自定义的。
//   参数3:无论条目的样式如何,都需要有显示文字的textview控件,这个参数就是该控件Id。
//   参数4:list对象,就是自定义的动态列表数据。
        
        
/*        
        ArrayAdapter<CharSequence>  adapter=
        ArrayAdapter.createFromResource(this,R.array.str_ary,android.R.layout.simple_spinner_item);
//   参数1:当前上下文对象。
//    参数2:就是在第二步String.xml中定义的数组,也就是下拉菜单的内容。
//     参数3:下拉菜单的整体样式,这里定义的是Android自带的标准样式,当然也可以自定义。
       adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
 //      设置下拉菜单中每一个选项(item)的样式,这里定义的也是Android自带的标准样式,当然也可以自定义。       
       
       */
       sp1.setAdapter(adapter);
       sp1.setPrompt("MySpinner"); //作用是给下拉菜单添加标题
       sp1.setOnItemSelectedListener(new SpinnerListener());
    }
    
    class SpinnerListener implements OnItemSelectedListener{

		public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
				long arg3) {
			//这个函数当选择下拉菜单选项时调用,第一个参数是下拉菜单控件,第二个参数是当前被选中的Item,
			//第三个参数是选中的位置,第四个参数是当前选中的Id。
	    	String selected=arg0.getItemAtPosition(arg2).toString();
	    	tv1.setText(selected);
			// TODO Auto-generated method stub
		}

		//这个函数当下拉菜单什么也没选时调用。
		public void onNothingSelected(AdapterView<?> arg0) {
			// TODO Auto-generated method stub
			
		}

    }
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}

 

[Android]实现Spinner控件

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Spinner位于 android.widget包下,每次只显示用户选中的元素,当用户再次点击时,会弹出选择列表供
转自:http://android.tgbus.com/Android/tutorial/201105/351259.shtml 我们大家都应该知道,andro
Android 控件之Spinner Spinner用来显示列表项,类似于一组单选框RadioButton.下面瞥一下它的效果。
我们经常会在Windows开发的过程中看到一个下拉菜单控件,在Android中也有相应的控件,它的名字叫Spi
一、字典表,用来存放键值对信息 package com.ljq.activity; import java.io.Serializable; @Suppre
android 中得Spinner相当于是一个下拉框,通常可以用来实现地区选择、OA中用户名称选择等。我这里就
一、Spinner简介   在Web开发中,HTML提供了下拉列表的实现,就是使用<select>元素实现一个
还是接上一篇,这次妖精们说了,不要用RadioButton控件了,不好看,还占地方,抓一个人,要占四个地方,那
spinne控件: 默认显示:【选择的是:北京】 操作步骤: 1.点击【城市】下拉框 2.选择【上海】 验证
sp_job = (Spinner) findViewById(R.id.sp_job); tw_job = (TextView)findViewById(R.id.tw_job); f
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号