一、适配器
①数组适配器 ArrayAdapter
new ArrayAdapter(this,R.layout.actv_style, names);
②简单适配器 SimpleAdapter
(并不简单的简单适配器)
③自定义适配器
2、作用:
①桥梁
②展示
二、高级控件
1、使用步骤:
①获取数据
②创建适配器
③绑定适配器
三、自动提示文本框
1、类型:
①单一提示【 AutoCompleteTextView】
②多次提示【MultiAutoCompleteTextView】
//设置多次提示时,设置分隔符方法
Tokenizer t = new MultiAutoCompleteTextView.CommaTokenizer();
mactv_main.setTokenizer(t);
以下是MainActivity代码
package com.example.a0912_android_06;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private MultiAutoCompleteTextView multiAutoCompleteTextView = null;
private String[] data1 = {"beijing1", "beijing2", "beijing3", "shanghai1", "shanghai2", "shanghai3", "jiuweihu1", "shenzheng1", "jiuweihu2", "shenzheng2" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initViews();
eventsViews();
}
private void eventsViews() {
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, data1);
multiAutoCompleteTextView.setAdapter(adapter);
// 设置逗号为分隔符
multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
private void initViews() {
multiAutoCompleteTextView = (MultiAutoCompleteTextView) findViewById(R.id.id_multiTextView);
}
效果如下: 输入关键字会自动提示
2、两种自动提示文本框的异同
AutoCompleteTextView:支持基本的自动完成功能,适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据
MultiAutoCompleteTextView: 可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配。
可用在发短信,发邮件时选择联系人这种类型当中。
android:completionThreshold="1" 规定用户打了多少字符之后才出现自动提示,默认值是2,我们在这里改成了1。