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

关于下拉框的一些应用

发表于: 2013-03-08   作者:店小二过年   来源:转载   浏览:
摘要: 做下拉框可以利用系统自带的方法创建adpter,通过数组传入需要的字符串。 布局文件如下 <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/widget28" android:la
做下拉框可以利用系统自带的方法创建adpter,通过数组传入需要的字符串。
布局文件如下
<?xml version="1.0" encoding="utf-8"?>    
<LinearLayout   
    android:id="@+id/widget28"    
    android:layout_width="fill_parent"    
    android:layout_height="fill_parent"    
    android:orientation="vertical"  
    android:layout_gravity="center_vertical"
	               android:gravity="center_horizontal"  
    xmlns:android="http://schemas.android.com/apk/res/android" >    
    <TextView    
        android:id="@+id/TextView_Show"    
        android:layout_width="fill_parent"    
        android:layout_height="wrap_content"    
        android:text="你选择的是"    
        android:textSize="25sp">    
    </TextView>    
    <Spinner    
        android:id="@+id/spinner_City"    
        android:layout_width="fill_parent"    
        android:layout_height="wrap_content">    
    </Spinner>
    <TextView    
        android:id="@+id/TextView_Show1"    
        android:layout_width="fill_parent"    
        android:layout_height="wrap_content"    
        android:text="你选择的是"    
        android:textSize="25sp">    
    </TextView>    
    <Spinner    
        android:id="@+id/spinner_City1"    
        android:layout_width="fill_parent"    
        android:layout_height="wrap_content">    
    </Spinner> 
    <Button android:layout_width="wrap_content"
        	android:layout_height="wrap_content"
        	android:layout_marginBottom="50dp"
        	 android:layout_gravity="center_horizontal"
	         android:gravity="center_horizontal"
        	android:text="OK"
        	android:id="@+id/button"
        	android:visibility="invisible"/>  
</LinearLayout>   

java代码如下:
package com.example.mydrawsector;

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.Button;
import android.widget.Spinner;
import android.widget.TextView;
        
    public class SpinnerActivity extends Activity {     
        /** Called when the activity is first created. */    
        private List<String> list = new ArrayList<String>();   
        private List<String> list1 = new ArrayList<String>(); 
        private TextView myTextView;    
        private TextView myTextView1;   
        private Spinner mySpinner;    
        private Spinner mySpinner1; 
        private ArrayAdapter<String> adapter;     
        private ArrayAdapter<String> adapter1; 
        private Button button;
        @Override    
        public void onCreate(Bundle savedInstanceState) {     
            super.onCreate(savedInstanceState);     
            setContentView(R.layout.activity_main);     
            //第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项     
            list.add("北京");     
            list.add("上海");     
            list.add("深圳");     
            list.add("南京");     
            list.add("重庆");
            list1.add("公交");
            list1.add("地铁");
            list1.add("自驾游");
            button = (Button)findViewById(R.id.button);
            myTextView = (TextView)findViewById(R.id.TextView_Show);     
            mySpinner = (Spinner)findViewById(R.id.spinner_City);
            myTextView1 = (TextView)findViewById(R.id.TextView_Show1);     
            mySpinner1 = (Spinner)findViewById(R.id.spinner_City1); 
            
            //第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。     
            adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, list);     
            //第三步:为适配器设置下拉列表下拉时的菜单样式。     
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);     
            //第四步:将适配器添加到下拉列表上     
            adapter1 = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, list1);     
            //第三步:为适配器设置下拉列表下拉时的菜单样式。     
            adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);  
            mySpinner.setAdapter(adapter);     
            mySpinner1.setAdapter(adapter1);
            //第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中     
            mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){     
                @SuppressWarnings("unchecked")  
                public void onItemSelected(AdapterView arg0, View arg1, int arg2, long arg3) {     
                    // TODO Auto-generated method stub     
                    /* 将所选mySpinner 的值带入myTextView 中*/    
                    myTextView.setText("您选择的是:"+ adapter.getItem(arg2));     
                    /* 将mySpinner 显示*/    
                    arg0.setVisibility(View.VISIBLE);  
                    isShowOKButton();
                }     
                @SuppressWarnings("unchecked")  
                public void onNothingSelected(AdapterView arg0) {     
//                    // TODO Auto-generated method stub     
//                    myTextView.setText("NONE");     
//                    arg0.setVisibility(View.VISIBLE);     
                }     
            });   
            mySpinner1.setOnItemSelectedListener(new Spinner.OnItemSelectedListener(){     
                @SuppressWarnings("unchecked")  
                public void onItemSelected(AdapterView arg0, View arg1, int arg2, long arg3) {     
                    // TODO Auto-generated method stub     
                    /* 将所选mySpinner 的值带入myTextView 中*/    
                    myTextView1.setText("您选择的是:"+ adapter1.getItem(arg2));     
                    /* 将mySpinner 显示*/    
                    arg0.setVisibility(View.VISIBLE);  
                    isShowOKButton();
                }     
                @SuppressWarnings("unchecked")  
                public void onNothingSelected(AdapterView arg0) {     
                    // TODO Auto-generated method stub     
//                    myTextView1.setText("NONE");     
//                    arg0.setVisibility(View.VISIBLE);     
                }     
            });
          
//            /*下拉菜单弹出的内容选项触屏事件处理*/    
//            mySpinner.setOnTouchListener(new Spinner.OnTouchListener(){     
//                public boolean onTouch(View v, MotionEvent event) {     
//                    // TODO Auto-generated method stub     
//                    /* 将mySpinner 隐藏,不隐藏也可以,看自己爱好*/    
//                    v.setVisibility(View.INVISIBLE);     
//                    return false;     
//                }     
//            });     
            /*下拉菜单弹出的内容选项焦点改变事件处理*/    
            mySpinner.setOnFocusChangeListener(new Spinner.OnFocusChangeListener(){     
            public void onFocusChange(View v, boolean hasFocus) {     
            // TODO Auto-generated method stub     
                v.setVisibility(View.VISIBLE);     
            }     
            });     
        } 
        public void isShowOKButton(){
        	if((myTextView.getText()!=null||myTextView.getText()!="")&&(myTextView1.getText()!=null||myTextView1.getText()!="")){
        		button.setVisibility(View.VISIBLE);
        	}
        }
    }  

小结
1.Spinner中textview显示的内容为list中第一个元素。
2.继续学习自定义风格的下拉框并且改变spinner的默认值。

关于下拉框的一些应用

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
我们今天接着来看一下Shape中的stroke属性,stroke其实就是边缘的意思,当我们在定义画笔的时候,有
最近一段时间一直在从事和hadoop相关的工作,主要是技术内容学习、安装配置优化以及一些框架结构的
在Android中,很多时候系统原生的控件的格式并不能满足我们的需求,我们想要更加好看点的样式,像什
看DD的帖子,提出询问两个下拉框联合 查询该怎么做。 自己实验了下,将结果贴出来,供大家学习分析。
豌豆荚的http://apps.wandoujia.com在下载应用的时候,下载的文件没有后缀名,需要手动添加.apk后缀
Gradient,渐变,是在界面设计中最经常用到的一种技巧,只要涉及到颜色的处理,浓妆淡抹总相宜,说
我认为移动应用程序相对于桌面程序的主要特点是:强交互。 这样就引出一个问题:用什么样的设计可以
分享 关于ubuntu 10.04的安装和简单配置过程还有一些科研软件的应用(非常初级。。。) 来源: 严昊
大名鼎鼎的分布式缓存系统memcached,在开源社区中可谓是无人不知无人不晓,memcached支持分布式的
项目上要用这个东西,搞些来还真是有些麻烦,最主要对CSS不熟。 1.bootstrap modal 这个用起来还是
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号