android 开发-spinner下拉框控件的实现

Android提供实现下拉框功能的非常实用的控件Spinner。

  spinner控件需要向xml资源文件中添加spinner标签,如下:

    <Spinner
        android:id="@+id/spinner1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/textView1"
        android:layout_centerHorizontal="true" />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/spinner1"
        android:layout_alignParentLeft="true"
        android:layout_marginBottom="20dp"
        android:layout_marginLeft="16dp"
        android:textSize="20sp"
        android:text="所选城市" />

  添加完资源控件后,在activity中,添加代码:

package com.example.android_spinner2;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.Spinner;

public class MainActivity extends Activity {
    private Spinner spinner ;
    private ArrayAdapter adapter ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        this.spinner =(Spinner) this.findViewById(R.id.spinner1);
        //两种方式给下拉列表注册适配器
        //1 :new 适配器对象(content对象,样式ID,数据集合)
        adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_spinner_dropdown_item, getDataSource());
        spinner.setAdapter(adapter);
    }
    public List<String> getDataSource(){
        List<String> list = new ArrayList<String>() ;
        list.add("北京");
        list.add("上海");
        list.add("广州");
        list.add("长沙");
        return list  ;
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}在模拟其中运行,将得到spinner的显示效果:

  从官方的API可知,官方提供另外一种为spiner注册适配器的方式。示例代码如下:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        this.spinner =(Spinner) this.findViewById(R.id.spinner1);
        //两种方式给下拉列表注册适配器
        //1 :new 适配器对象(content对象,样式ID,数据集合)
//        adapter = new ArrayAdapter<String>(this,
//                android.R.layout.simple_spinner_dropdown_item, getDataSource());
        //2 :.createFromResource(content对象,xml中数组id,样式ID)
        adapter = ArrayAdapter.createFromResource(MainActivity.this,
                R.array.planets_array,android.R.layout.simple_spinner_dropdown_item );
        spinner.setAdapter(adapter);
    }

  需要注意的是,第二种方式需要在string资源文件中添加数组:

   <string-array name="planets_array">
        <item>Mercury</item>
        <item>Venus</item>
        <item>Earth</item>
    </string-array

  运行项目,同样能得到想要的下拉框列表。

  

时间: 2024-10-11 16:04:58

android 开发-spinner下拉框控件的实现的相关文章

android:Spinner(下拉框)控件的使用

1.效果图 2.创建页面文件(main.xml) 1 <Spinner 2 android:id="@+id/spinner1" 3 android:layout_width="match_parent" 4 android:layout_height="wrap_content" /> 5 6 <TextView 7 android:id="@+id/tvResult" 8 android:layout_w

DevExpress的下拉框控件ComboxBoxEdit怎样绑定键值对选项

场景 DevExpress的下拉框控件ComboBoxEdit控件的使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102855898 在设置ComboBoxEdit的下拉框内容时除了最简单的 comboBox.Properties.Items.Add("下拉选项1"); 如果要添加键值对形式的数据该怎样实现. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi

Android——谷歌官方下拉刷新控件SwipeRefreshLayout(转)

转自:http://blog.csdn.net/zouzhigang96/article/details/50476402 版权声明:本文为博主原创文章,未经博主允许不得转载. 前言: 如今谷歌推出了更官方的下拉刷新控件, 这无疑是对安卓开发人员来说是个好消息,很方便的使用这个SwipeRefreshLayout控件实现下拉刷新功能.Android4.0以下的版本需要用到 Android-support-v4.jar包才能用到 android-support-v4.jar 包下载地址:http:

Android SwipeRefreshLayout 官方下拉刷新控件介绍

转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/24521483 以下App基本都有下拉刷新的功能,曾经基本都使用XListView或者自己写一个下拉刷新,最近Google提供了一个官方的下拉刷新控件SwipeRefreshLayout,我感觉还不错啊,见惯了传统的下拉刷新,这个反而给人耳目一新的感觉(貌似知乎的APP已经使用这样的下拉刷新了). Google也在官方站点给出了V4的兼容包: 顺便看一眼API呗: 和XlistV

Android PullToRefreshView自定义下拉刷新控件

MyPullToRefreshView继承自LinearLayout,布局为vertical,该容器中包含三个子view,这三个view从上到下依次排列在LinearLayout中. 效果图如下: 下图中蓝色部分是充满屏幕的,HeaderView在ListView的上方,在代码中动态添加进来,使其底部Y轴坐标刚好为0,FooterView在ListView的下方,也在代码中动态添加进来,该View的TopMargin刚好为整个布局的高度. 首先看一下该控件的使用: 1.在xml中配置 <span

Dev控件的下拉框控件设置默认选中项

DevExpress中下拉框控件comboBoxEdit,用法和winform的不太一样,在绑完选项后,希望设置默认选中项. 有2种方法: 方法1this.cmbMacScan.EditValue = new CheckedListBoxItem { Value = model.ScanInterval, Description = model.ScanInterval.ToString() }; this.cmbMacScan.RefreshEditValue(); 方法2this.cmbMa

[原创]自己动手实现React-Native下拉框控件

因项目需要,自己动手实现了一个下拉框组件,最近得空将控件独立出来开源上传到了Github和npm. Github地址(求Star 求Star 求Star ??):https://github.com/sohobloo/react-native-modal-dropdown Github上全英文的readme方便国际友人,这里就写个中文的吧. react-native-modal-dropdown 一个react-native的下拉框组件,支持安卓和iOS. 特点 纯JS组件. 一份代码兼容iOS

封装下拉框控件!将查询到信息塞到下拉框中,将所选的内容截取并显示到静态框(联动显示)

1 int CSetOrgan::GetAllArea(CString& operArea) 2 { 3 CString strTemp; 4 for(int i=0; i<m_cmbDept.GetCount(); i++) 5 { 6 m_cmbDept.DeleteString(i); 7 } 8 this->PrepareReqPack(TX_QUERYORGAN); 9 AddField((getUIData().getUserId()), sorder0, F_SORDER

comboTagsTree的下拉框控件 选中

//编辑的时候 点击默认下拉框中的值选中 每次选中一个将原本的替换掉 只能选中一个分组if (groupId != "") { if(updateGroup.length!=undefined&&updateGroup.length!=""&&updateGroup.length!=null){ for (var j = 0; j < updateGroup.length; j++) { if (groupId == updat