用户界面View之AutoCompleteTextView
来源:互联网 发布:自己播音软件 编辑:程序博客网 时间:2024/06/04 18:16
今天很残酷,明天更残酷,后天很美好,但绝对大部分都是死在明天晚上。坚持就是胜利!加油!
本讲内容:AutoCompleteTextView 自动完成文本框和MultiAutoCompleteTextView支持多次自动匹配
前面我们用Android系统内自定义的spinner的UI格式,本讲中我们使用自已定义的spinner的UI格式
示例一:
下面是res/layout/activity_main.xml 布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.text.MainActivity$PlaceholderFragment" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="省份:" /> <AutoCompleteTextView android:id="@+id/autoCompleteTextViewId" android:layout_width="match_parent" android:layout_height="wrap_content" android:completionThreshold="1" android:hint="请输入省份"/> </LinearLayout>
android:completionThreshold=”1″ 属性设置了一个阀值,规定用户打了多少字符之后才出现自动提示默认值是2,我们在这里改成了1。
<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name">Text</string> <string name="hello_world">Hello world!</string> <string name="action_settings">Settings</string> <string-array name="province"> <item>shan dong</item> <item>jiang su</item> <item>an hui</item> <item>zhe jiang</item> <item>fu jian</item> <item>shang hai</item> <item>guang dong</item> <item>guang xi</item> <item>hai nan</item> <item>hu bei</item> <item>hu nan</item> <item>he nan</item> <item>jiang xi</item> <item>bei jing</item> <item>tian jin</item> <item>he bei</item> <item>shan xi</item> <item>nei meng gu</item> <item>ning xia</item> <item>xin jiang</item> <item>qing hai</item> <item>shan xi</item> <item>gan su</item> <item>si chuan</item> <item>yun nan</item> <item>gui zhou</item> <item>xi zang</item> <item>chong qing</item> <item>liao ning</item> <item>ji lin</item> <item>hei long jiang</item> <item>tai wan</item> <item>xiang guang</item> <item>ao men </item> <item>山东</item> <item>江苏</item> <item>安徽</item> <item>浙江</item> <item>福建</item> <item>上海</item> <item>广东</item> <item>广西</item> <item>海南</item> <item>湖北</item> <item>湖南</item> <item>河南</item> <item>江西</item> <item>北京</item> <item>天津</item> <item>河北</item> <item>山西</item> <item>内蒙古</item> <item>宁夏</item> <item>新疆</item> <item>青海</item> <item>陕西</item> <item>甘肃</item> <item>四川</item> <item>云南</item> <item>贵州</item> <item>西藏</item> <item>重庆</item> <item>辽宁</item> <item>吉林</item> <item>黑龙江</item> <item>台湾</item> <item>香港</item> <item>澳门</item> </string-array></resources>
下面是自已定义的spinner的UI格式:
新建一个res/layout/list_item.xml文件,写入如下代码:
<?xml version="1.0" encoding="utf-8"?><TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp" android:textSize="16sp" android:textColor="#000"></TextView>
下面是MainActivity主界面文件:
public class MainActivity extends Activity {private AutoCompleteTextView auto;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//定义数组String[] province=getResources().getStringArray(R.array.province);//找到自动完成组件 auto= (AutoCompleteTextView) findViewById(R.id.autoCompleteTextViewId);//定义数组适配器 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, province); //为其设置适配器 auto.setAdapter(adapter);}}注意:定义数组不能写在类前面,否则会报错,挺难发现的!
示例二:
下面是res/layout/activity_main.xml 布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.example.text.MainActivity$PlaceholderFragment" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="省份:" /> <MultiAutoCompleteTextView android:id="@+id/multiAutoCompleteTextViewId" android:layout_width="match_parent" android:layout_height="wrap_content" android:completionThreshold="1" android:hint="请输入省份" /></LinearLayout>
下面是MainActivity主界面文件:
public class MainActivity extends Activity {private MultiAutoCompleteTextView auto;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//定义数组 String[] province=getResources().getStringArray(R.array.province);auto=(MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextViewId);//定义数组适配器 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, province); auto.setAdapter(adapter);//设置以逗号为分隔符为结束的auto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());}}
Take your time and enjoy it 要原码的、路过的、学习过的请留个言,顶个呗~~
1 0
- 用户界面View之AutoCompleteTextView
- 用户界面View之CheckBox
- 用户界面View之RadioButton
- 用户界面View之Spinner
- 用户界面View之Layout
- 用户界面View之GridView
- 用户界面View之Chronometer
- 用户界面View之PopupWindow
- 用户界面View之EditText
- 用户界面View之WebView
- 用户界面View之ProgressBar
- 用户界面View之ViewGroup
- 用户界面View之ViewFlipper
- 用户界面View之ScrollView
- 用户界面View之Gallery
- 用户界面之view
- 用户界面之 view 二
- 用户界面之 view 三
- ORA-00054 的解决方法
- 【EXPDP】使用11g的数据泵实现对逻辑备份数据进行加密
- 安卓态创建控件给控件分配ID
- C#窗体MessageBox显示自动消失(移动开发Pocket PC 2003)
- 常用的android弹出对话框
- 用户界面View之AutoCompleteTextView
- 下一代文件系统Btrfs介绍
- 开始博客之旅
- jq toggle()方法的重写
- navicat连接oracle的错误:ora-12737:instant client........
- Android--Fragment(1)——比Activity小一级的组件
- Servlet生命周期与工作原理
- 四种方案解决ScrollView嵌套ListView问题
- Notepad++v6.6.9取消记住最后打开文件方法