精华内容
下载资源
问答
  • 下拉框spinner获取选中值的几种方法

    千次阅读 2019-01-28 14:50:35
    spinner绑定的一般分3种形式存放:  1、存放在java页面的数组中:{"湖北","武汉","荆州"}  2、存放在strings.xml文件中  3、存放在数据库中,调用接口获得  1、2是在一般的...

    spinner绑定的值一般分3种形式存放:

        1、存放在java页面的数组中:{"湖北","武汉","荆州"}

        2、存放在strings.xml文件中

        3、存放在数据库中,调用接口获得

        1、2是在一般的页面中比较常用,这样你的页面看起来不会很乱。

        3是需要调用接口,这里暂时不说。

        下面就来对前两种方式的取值,进行说明。

        1、若存放在页面定义的数组中:

        private static final String[] m_Countries = { "111", "222", "333", "444", "555" };   //定义数组

        private ArrayAdapter<String> adapter;                                                                //存放数据

        private Spinner  spinnerCardNumber;                                                                  //下拉框

        spinnerCardNumber = (Spinner)findViewById(R.id.SpinnerCardNumber);

        //将可选内容与ArrayAdapter连接,
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, m_Countries);

        //将adapter添加到m_Spinner中
        spinnerCardNumber.setAdapter(adapter);

        到这里,就完成了下拉框的绑定数据,下拉框中已经有我们想要选择的值了。下面获取选择的值。

        //添加Spinner事件监听
        spinnerCardNumber.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        String cardNumber = m_Countries[arg2];
        //设置显示当前选择的项
        arg0.setVisibility(View.VISIBLE);
        }

       @Override
       public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub
        }

        });

        这样carNumber就拿到了你选择的那个值。

        2、存放在arrays.xml中

        <string-array name="debitCardNumber">
            <item>信用卡111</item>
            <item>信用卡222</item>
            <item>信用卡333</item>
            <item>信用卡444</item>
            <item>信用卡555</item>
        </string-array>

        这种情况的获取值基本跟1一样,只有根据arg2获取对应值得时候需要更改。

         public void onItemSelected( AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
             String cardNumber = Activity.this.getResources().getStringArray(R.array.debitCardNumber)[arg2];
         }

        3、还有一种方法对1、2都适用。

        不需要实现spinnerCardNumber.setOnItemSelectedListener ( new OnItemSelectedListener()};

        cardNumber = spinnerCardNumber.getSelectedItem().toString();

         只要这1句代码就搞定。不过这里需要注意,这行代码要放在每次选择后都会重新执行一次的方法中,不然cardNumber的值只会获取1次。

        

     

     

    展开全文
  • 这个demo是关于android中Spinner控件的使用(Spinner就是下拉框)。 需求:在Spinner实现取value与text。 如有BUG 或者不完善,欢迎小伙伴们提出~
  • 即图一当前选中等于图三的默认选中,然后图三鞋子图片处根据选中显示相应的图片 spinner存放在arrays.xml中 如下图一,图二,图三显示 ![图一]...
  • Spinner提供了从一个...2.在layout.xml文件中声明一个TextView控件(用于显示下拉框选中)和一个Spinner控件 3.java代码 import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import
  • Android 获取spinner选中

    千次阅读 2020-03-15 20:30:46
    创建Spinner的另一种方式,并且我们今天要拿到选中哦!是不是很期待?(&–_--&)! 有图,不慌,我们先来看看今天的效果!(不小心暴露了,眼尖的同学一看就知道是作业!) Spinner的第一种内容...
    Hello,本人小小白,聊的内容仅适合刚入门的童鞋们,我尽可能写的细一点!每天一小步,走出精彩人生!把大问题,拆成小问题,debug还是很容易滴!
    我们 今天要get哪些东西呢?创建Spinner的另一种方式,并且我们今天要拿到选中的值哦!是不是很期待?(&–_--&)!
    有图,不慌,我们先来看看今天的效果!(不小心暴露了,眼尖的同学一看就知道是作业!)在这里插入图片描述
    Spinner的第一种内容创建方式就是将下拉框中的内容放在.XML 文件中,在我的上一篇博客已经详细讲过了,这里就不赘述了。我们在上次的基础上获取值哦(我把文字内容变了变,相信不会影响到聪明的你的)!真诚的附上链接:Spinner下拉列表
    一、我们先来用内容放在.XML 文件中的写法试试水!第一件事当然是在.java 中获取到对应的id啦!还有一些重要的辅助变量!我相信这个难不倒你们!
        private Spinner textSpinner;
        private String   getContent;
        private EditText textSpinnerEW;
    
            textSpinner = findViewById(R.id.textSpinner);
            textSpinnerEW = findViewById(R.id.textSpinnerEW);
    
            textSpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
                @Override
                /*public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
    
                }*/
                public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                      getContent = MainActivity.this.getResources().getStringArray(R.array.majorIn)[arg2];
                      textSpinnerEW.setText(getContent);
                }
    
                @Override
                public void onNothingSelected(AdapterView<?> parent) {
    
                }
            });
    
    注意看看第三张图片注释部分和底下那行有啥区别。getStringArray(R.array.majorIn)中的majorIn是你自己写下拉列表内容的.xml文件名哦! textSpinnerEW.setText(getContent);是我为了在名为:textSpinnerEW 的EditView中显示写的,为了检测一下我们获取到spinner选中的值。写不写,看你的代码需求
    嘻嘻,不难吧!
    二、那我们看spinner内容的第二种写法!直接在.java 文件中定义数组,但是在获取内容的时候稍稍麻烦一点,需要数组适配器。

    便于理解,我们先看一下前端代码:

        <Spinner
            android:id="@+id/spMajor"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="90dp"
            android:layout_marginLeft="50dp"
            android:spinnerMode="dialog" />
    

    以下内容放在.java文件中

        //先定义一个字符串数组,放下拉列表的内容!
        final String[] majorText ={"计算机科学与技术","信息安全","大数据","人工智能","自动化"};
        Spinner textSpinner = findViewById(R.id.textSpinner);
        EditText textSpinnerEW = findViewById(R.id.textSpinnerEW);
         //获取spinner中的值
         //也可以在.java 文件里设置prompt内容,可以看看上一篇文章是怎么设置的
            this.spMajor.setPrompt("请选择您的专业:");
            
            //创建一个数组适配器,存放内容为string 类型 ,majorText是我自己定义的字符数组!
            private ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,majorText);
     
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    
    		//为Spinner添加适配器
            spMajor.setAdapter(adapter);
            spMajor.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                 String strSpinner = "您选择的专业是:"+majorText[arg2];
                }
                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                }
            });
    
    这样就可以得到spinner选中的内容了!没有放将内容在Toast中显示的代码!相信没有代码你也可以的!
    我们小小的总结一下。到目前我们干了这些事情:1.获取 用.xml存放内容 的spinner选中的内容,直接用setOnItemSelectedListener方法即可 ; 2.如果我们将内容以字符数组的形式写在.java 文件中,那么我们需要一个数组适配器,在用setOnItemSelectedListener方法!
    三、我们来看看第三种方法,代码简单,适合以上两种写法
            EditText textSpinnerEW2 = findViewById(R.id.textSpinnerEW2);
    		Spinner textSpinner = findViewById(R.id.textSpinner);
    		//获取内容
            String getContent2 = textSpinner.getSelectedItem().toString();
            //在名字为textSpinnerEW2的EditText中显示
            textSpinnerEW2.setText(getContent2);
    
    但是只能用一次,如果更改一次都能获取到,需要将代码放到spinner选择事件之后!
    我们用图来说明一下,什么叫只能用一次!当我们第二次更改spinner选择的内容时,1变了,但是2没变!在这里插入图片描述
    好了,今天就聊到这里,小小白赶紧去吃晚饭!你吃晚饭了吗?(** _**)!
    展开全文
  • spinner绑定的一般分3种形式存放:  1、存放在java页面的数组中:{"湖北","武汉","荆州"}  2、存放在strings.xml文件中  3、存放在数据库中,调用接口获得  1、2是在一般的页面中比较常用,个人...

      spinner绑定的值一般分3种形式存放:

        1、存放在java页面的数组中:{"湖北","武汉","荆州"}

        2、存放在strings.xml文件中

        3、存放在数据库中,调用接口获得

        1、2是在一般的页面中比较常用,个人推荐第2种。这样你的页面看起来不会很乱,而且一般把值存放在xml中,看起来比较专业,呵呵。比如values文件夹中的:arrays.xml、colors.xml、ids.xml、strings.xml、styles.xml等等。

        3是需要调用接口,暂时还没有做这方面的,过几天后台接口就差不多该调好了,这里暂时不说。

        下面就来对前两种方式的取值,进行说明。

        1、若存放在页面定义的数组中:

        private static final String[] m_Countries = { "111", "222", "333", "444", "555" };   //定义数组

        private ArrayAdapter<String> adapter;                                                                //存放数据

        private Spinner  spinnerCardNumber;                                                                  //下拉框

        spinnerCardNumber = (Spinner)findViewById(R.id.SpinnerCardNumber);

        //将可选内容与ArrayAdapter连接,
        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, m_Countries);

        //将adapter添加到m_Spinner中
        spinnerCardNumber.setAdapter(adapter);

        到这里,就完成了下拉框的绑定数据,下拉框中已经有我们想要选择的值了。下面获取选择的值。

        //添加Spinner事件监听
        spinnerCardNumber.setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {

        @Override
        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        String cardNumber = m_Countries[arg2];
        //设置显示当前选择的项
        arg0.setVisibility(View.VISIBLE);
        }

       @Override
       public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub
        }

        });

        这样carNumber就拿到了你选择的那个值。

        2、存放在arrays.xml中

        <string-array name="debitCardNumber">
            <item>信用卡111</item>
            <item>信用卡222</item>
            <item>信用卡333</item>
            <item>信用卡444</item>
            <item>信用卡555</item>
        </string-array>

        这种情况的获取值基本跟1一样,只有根据arg2获取对应值得时候需要更改。

         public void onItemSelected( AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
             String cardNumber = Activity.this.getResources().getStringArray(R.array.debitCardNumber)[arg2];
         }

        3、还有一种方法对1、2都适用,而且很简单,后来发现的。

        不需要实现spinnerCardNumber.setOnItemSelectedListener ( new OnItemSelectedListener()};

        cardNumber = spinnerCardNumber.getSelectedItem().toString();

         对,只要这1句代码就搞定。不过这里需要注意,这行代码要放在每次选择后都会重新执行一次的方法中,不然cardNumber的值只会获取1次。

    展开全文
  • customers;Context context;public CustomerAdapter(Context context,Listcustomers){this.customers = customers;this.context = context;}@Overridepublic int getCount() {return (customers==null)?...

    customers;

    Context context;

    public CustomerAdapter(Context context,Listcustomers){

    this.customers = customers;

    this.context = context;

    }

    @Override

    public int getCount() {

    return (customers==null)?0:customers.size();

    }

    @Override

    public Object getItem(int position) {

    return customers.get(position);

    }

    @Override

    public long getItemId(int position) {

    return position;

    }

    public class ViewHolder{

    TextView textViewItem01;

    TextView textViewItem02;

    TextView textViewItem03;

    }

    @Override

    public View getView(int position, View convertView, ViewGroup parent) {

    final Customer customer = (Customer)getItem(position);

    ViewHolder viewHolder = null;

    if(convertView==null){

    Log.d("MyBaseAdapter", "新建convertView,position="+position);

    convertView = LayoutInflater.from(context).inflate(

    R.layout.list_view01_item, null);

    viewHolder = new ViewHolder();

    viewHolder.textViewItem01 = (TextView)convertView.findViewById(

    R.id.listView01Item01);

    viewHolder.textViewItem02 = (TextView)convertView.findViewById(

    R.id.listView01Item02);

    viewHolder.textViewItem03 = (TextView)convertView.findViewById(

    R.id.listView01Item03);

    convertView.setTag(viewHolder);

    }else{

    viewHolder = (ViewHolder)convertView.getTag();

    Log.d("MyBaseAdapter", "旧的convertView,position="+position);

    }

    viewHolder.textViewItem01.setText(String.valueOf(customer.getId()));

    viewHolder.textViewItem02.setText(customer.getName());

    viewHolder.textViewItem03.setText(customer.getName());

    return convertView;

    }

    }

    展开全文
  • spinner获取选中值的三种方法

    千次阅读 2017-12-14 18:47:56
    spinner获取选中值的三种方法
  • spinner绑定的一般分3种形式存放:  1、存放在java页面的数组中:{"湖北","武汉","荆州"}  2、存放在strings.xml文件中  1、2是在一般的页面中比较常用,个人推荐第2种。这样你的页面看起来不会很乱,而且...
  • 一句代码就可以搞定! spinner.setSelection(2,true); 第一个参数是:menu的位置,从0开始 第二个参数是:true,一定要写!
  • 当前位置:我的异常网» Android»android中spinner选中值获取解决思路android中spinner选中值获取解决思路www.myexceptions.net网友分享于:2014-08-19浏览:0次android中spinner选中值获取//为门店绑定数据...
  • 本帖最后由 ASteR0id 于 2012-5-25 20:05 编辑原地址http://hi.baidu.com/837212553/blog/item/5ad77c941ae6a87254fb9671.html 感谢原创作者,项目中刚好用到这点技巧,... spinner绑定的一般分3种形式存放:
  • customers;Context context;public CustomerAdapter(Context context,Listcustomers){this.customers = customers;this.context = context;}@Overridepublic int getCount() {return (customers==null)?...
  • 拿到Spinner的当前,并把拿到的,实时传递给TextView,然后,显示在TextView当中。 布局文件是这样的: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=...
  • 设置默认选中: public static int ugid = 1; public void setSpinnerItemSelectedByValue(Spinner spinner,String value){ SpinnerAdapter apsAdapter= spinner.getAdapter(); int k= apsAdapter.getCount();...
  • 场景 ...获取编程相关电子书、教程推送与免费下载。 实现 将布局改为LinearLayout,并通过android:orientation="vertical">设置为垂直布局,然后添加id属性。 然后在res下values下新建array...
  • 为了实现在android的spinner实现取VALUE和TEXT,我尝试过好些办法,在网上查的资料,都是说修改适配器,刚开始我也是通过修改适配器的方法来做的,但是如果一个activity有多个spinner,就需要多声明几个适配器的...
  • 1、布局文件 <TextView android:id="@+id/tvtype" android:layout_width="wrap_content" ... android:id="@+id/spinner" android:layout_width="wrap_content" android:layout_height="matc
  • 然后在获取选中的内容 但是 获取 所选中的Item的是Object不是列表显示的String 代码如下: SimpleCursorAdapter simpleCursorAdapter = new SimpleCursorAdapter(this, android.R.layout.simple_...
  • 如何获取Spinner里item的

    千次阅读 2016-10-03 23:41:20
    首先了解Spinner所用到的适配器相关的参数    AdapterView parent, 表示Spinner   View view, 表示被选择的条目  int position, 表示数据的下标  long id 表示该条目在所有条目中的下标    ...
  • Spinner 获取当前选中

    万次阅读 2016-04-30 20:37:12
    方法获取当前选中项的。 final Spinner spinner = (Spinner)findViewById(R.id.spinner); spinner.setOnItemSelectedListener( new AdapterView.OnItemSelectedListener() { @Override public void ...
  • Spinner mSpinner; //业务类型下拉 void businessTypeSelect() { String[] arr = {"门店要货", "门店退货", "店间调货"}; ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android...
  • 此时将第一项隐藏不显示,给人产生一种默认未选择任何的感觉。自定义 Spinner使用原生Spinner控件时,该控件在连续点击同一个Item时,会触发setSelection方法,但不会触选择监听事件。所以此处我们可以重写...
  • 点击spinner获取选中的字符串 spinner1.setOnItemSelectedListener( new OnItemSelectedListener() { @Override public void onItemSelected (AdapterView<?> arg0, View arg1, int arg2, long ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,396
精华内容 958
关键字:

spinner获取选中的值