作者:客官真的真的不可以 | 来源:互联网 | 2023-06-19 21:44
在输入框中输入我们想要输入的信息就会出现其他与其相关的提示信息,这种效果在Android中是用AutoCompleteTextView实现的。一、AutoCompleteTextView:单一匹配
在输入框中输入我们想要输入的信息就会出现其他与其相关的提示信息,这种效果在Android中是用AutoCompleteTextView实现的。
一、AutoCompleteTextView:单一匹配 MultiAutoCompleteTextView:多个匹配
二、常用属性
AutoCompleteTextView常用属性
android:completionHint设置出现在下拉菜单中的提示标题
android:completionThreshold设置用户至少输入多少个字符才会显示提示
android:dropDownHorizontalOffset下拉菜单于文本框之间的水平偏移。默认与文本框左对齐
android:dropDownHeight下拉菜单的高度
android:dropDownWidth下拉菜单的宽度
android:singleLine单行显示
android:dropDownVerticalOffset垂直偏移量
三、使用
1、xml文件中添加布局,设置属性
2、初始化控件
3、初始化数据
4、配置adapater
5、绑定adapater
xml
xmlns:app
="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<
AutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:id="@+id/acTv"
android:hint="请输入内容"
/>
<
MultiAutoCompleteTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:id="@+id/macTV"
android:layout_below="@+id/acTv"
android:layout_marginTop="20dp"
/>
code
public class MainActivity extends AppCompatActivity {
private AutoCompleteTextView autoCompleteTextView;
private MultiAutoCompleteTextView multiAutoCompleteTextView;
private String[] datas={"android1","android2","android3","android4",
"java1","java2","java3","java4",};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();//初始化视图
initTV();//设置autoCompleteTextView和multiAutoCompleteTextView
}
private void initTV() {
// 配置设配器
ArrayAdapter arrayAdapter = new ArrayAdapter(
this, android.R.layout.simple_expandable_list_item_1, datas);
//设置adapter
autoCompleteTextView.setAdapter(arrayAdapter);
//设置adapter
multiAutoCompleteTextView.setAdapter(arrayAdapter);
//设置以逗号为分隔符
multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
private void initView() {
autoCompleteTextView= (AutoCompleteTextView) findViewById(R.id.acTv);
multiAutoCompleteTextView= (MultiAutoCompleteTextView) findViewById(R.id.macTV);
}
}