• 下载频道 http://www.it165.net/down/
  • Android Spinner AutoCompleteTextView

    发布日期:2014-07-11 21:09:41
    Tag标签: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

    次元立方 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
    本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规