Android -- Spinner && AutoCompleteTextView-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

Android -- Spinner && AutoCompleteTextView

简介:

Spinner 下拉选择框                                                                    

Android给我们提供了一个Spinner控件,这个控件主要就是一个列表,Spinner位于 android.widget包下,每次只显示用户选中的元素,当用户再次点击时,会弹出选择列表供用户选择,而选择列表中的元素同样来自适配器。Spinner是View类得一个子类。

复制代码
package com.yydcdut.spinnerstudy;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends Activity {

    private Spinner spinner;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        spinner = (Spinner) findViewById(R.id.spiiner);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                getApplicationContext(), android.R.layout.simple_spinner_item);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        adapter.add("123");
        adapter.add("321");
        adapter.add("123321");
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> parent, View view,
                    int position, long id) {

                Spinner spinner1 = (Spinner) parent;
                String content = (String) spinner1.getItemAtPosition(position);// 取得与Spinner关联的列表数据的指定位置的数据
                Toast.makeText(getApplicationContext(),
                        "position-->" + position + "内容-->" + content,
                        Toast.LENGTH_LONG).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                // TODO 自动生成的方法存根

            }
        });
    }

}
复制代码

接下来我们通过更换adapter.setDropDownViewResource(android.R.layout.test_list_item);里面的xml参数来看一看弹出的样式,具体可以参考一下:http://hi.baidu.com/ihsauqaxblbdmwq/item/62fa237f935a6a580d0a0780

AutoCompleteTextView                                                           

复制代码
public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String[] names = { "z11", "z22", "z33", "a44", "a55" };
        AutoCompleteTextView auto = (AutoCompleteTextView) findViewById(R.id.auto);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                android.R.layout.simple_dropdown_item_1line, names);
        auto.setAdapter(adapter);

    }

}
复制代码

AutoCompleteTextView是实现动态匹配输入的内容。如google搜索引擎当输入文本时可以根据内容显示匹配的热门信息。

虽然AutoCompleteTextView不是Android的常用控件,但是它的实用性还是很强的,具体的使用可以参考ApiDemos,对于基本的用法,它有很详细的说明。但是这些例子远远无法满足我们的需求,下面讲一下几个例子中没有涉及到的属性。

  • completionThreshold:它的值决定了你在AutoCompleteTextView至少输入几个字符,它才会具有自动提示的功能。另,默认最多提示20条。
  • dropDownAnchor:它的值是一个View的ID,指定后,AutoCompleteTextView会在这个View下弹出自动提示。
  • dropDownSelector:应该是设置自动提示的背景色之类的,没有尝试过,有待进一步考证。
  • dropDownWidth:设置自动提示列表的宽度。

我是天王盖地虎的分割线                                                                 

12

源代码:http://pan.baidu.com/s/1dD1Qx01

spinner学习.zip

autocompletetextview学习.zip




本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3829539.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: