android 下拉列表(Spinner)的学习与应用
16lz
2021-01-23
android 下拉列表(Spinner)的学习与应用
第一步,还是先新建一个工程第二步。修改已经生成的res/layout/main.xml。整体替换为:
<?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayout
- android:id="@+id/widget28"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical"
- 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><!--定义一个下拉菜单-->
- </LinearLayout>
第三步。添加关键代码
- importjava.util.ArrayList;
- importjava.util.List;
- importandroid.app.Activity;
- importandroid.os.Bundle;
- importandroid.view.MotionEvent;
- importandroid.view.View;
- importandroid.widget.AdapterView;
- importandroid.widget.ArrayAdapter;
- importandroid.widget.Spinner;
- importandroid.widget.TextView;
- publicclassspinnerextendsActivity{
- /**Calledwhentheactivityisfirstcreated.*/
- privateList<String>list=newArrayList<String>();
- privateTextViewmyTextView;
- privateSpinnermySpinner;
- privateArrayAdapter<String>adapter;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项
- list.add("北京");
- list.add("上海");
- list.add("深圳");
- list.add("南京");
- list.add("重庆");
- myTextView=(TextView)findViewById(R.id.TextView_Show);
- mySpinner=(Spinner)findViewById(R.id.spinner_City);
- //第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。
- adapter=newArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
- //第三步:为适配器设置下拉列表下拉时的菜单样式。
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- //第四步:将适配器添加到下拉列表上
- mySpinner.setAdapter(adapter);
- //第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中
- mySpinner.setOnItemSelectedListener(newSpinner.OnItemSelectedListener(){
- @SuppressWarnings("unchecked")
- publicvoidonItemSelected(AdapterViewarg0,Viewarg1,intarg2,longarg3){
- //TODOAuto-generatedmethodstub
- /*将所选mySpinner的值带入myTextView中*/
- myTextView.setText("您选择的是:"+adapter.getItem(arg2));
- /*将mySpinner显示*/
- arg0.setVisibility(View.VISIBLE);
- }
- @SuppressWarnings("unchecked")
- publicvoidonNothingSelected(AdapterViewarg0){
- //TODOAuto-generatedmethodstub
- myTextView.setText("NONE");
- arg0.setVisibility(View.VISIBLE);
- }
- });
- /*下拉菜单弹出的内容选项触屏事件处理*/
- mySpinner.setOnTouchListener(newSpinner.OnTouchListener(){
- publicbooleanonTouch(Viewv,MotionEventevent){
- //TODOAuto-generatedmethodstub
- /*将mySpinner隐藏,不隐藏也可以,看自己爱好*/
- v.setVisibility(View.INVISIBLE);
- returnfalse;
- }
- });
- /*下拉菜单弹出的内容选项焦点改变事件处理*/
- mySpinner.setOnFocusChangeListener(newSpinner.OnFocusChangeListener(){
- publicvoidonFocusChange(Viewv,booleanhasFocus){
- //TODOAuto-generatedmethodstub
- v.setVisibility(View.VISIBLE);
- }
- });
- }
- }
第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项
第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。
第三步:为适配器设置下拉列表下拉时的菜单样式。
第四步:将适配器添加到下拉列表上
第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中
本文转载自:http://blog.csdn.net/applezhengxd/article/details/5573693
更多相关文章
- Android 菜单(Menu)控件的使用
- Android 弹出菜单
- android之网络请求 -- 获取RecyclerView的列表项(图片 + 文字)
- Android 常用颜色列表
- Android省市区3级联动的地址列表的实现
- 教你如何创建类似QQ的android弹出菜单
- android TextView控件属性列表
- Android之BaseAdapter适配器使用技巧
- Android:控件Spinner实现下拉列表