Spinner 下拉列表
1. xml:
android:spinnerMode 微调器选项的显示模式。 (列表框dropdown,弹出对话框dialog) AutoCompleteTextView 文本提示
MultiAutoCompleteTextView 文本提示
package com.chengzis.control_cj;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
import android.widget.Spinner;
import android.widget.Toast;
/**
* 高级控件
* xml ——<Spinner android:spinnerMode="dialog" 可查ApI
* 1.找到控件 2.设置适配器
*
* 自动生成文本 提示一次
* xml: <AutoCompleteTextView android:completionThreshold="1"
* 1.找到AutoCompleteTextView控件 2.给控件设置适配器
*
* 自动生成文本 MultiAutoCompleteTextView 多次提示
*/
public class HighControlActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_simple_control);
initSpinner();
initAutoCompleteTextView();
initMultiAutoCompleteTextView();
}
private void initSpinner(){
//下拉列表
Spinner spinner = (Spinner) findViewById(R.id.spinner);
final String[] objects = new String[]{"黄石","黄皮","黄冈"};
//设置数据
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
android.R.id.text1,
objects);
spinner.setAdapter(adapter);
//设置条目选中监听
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
//条目被选择
@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
String text = objects[position];
Toast.makeText(HighControlActivity.this, text, 0).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
//自动 自动完成文本视图(文本输入提示)
private void initAutoCompleteTextView(){
AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.actv);
final String[] objects = new String[]{"黄石","黄皮","黄冈"};
//设置数据
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
android.R.id.text1,
objects);
actv.setAdapter(adapter);
}
//自动 自动完成文本视图(文本输入提示 多次提示)
private void initMultiAutoCompleteTextView(){
MultiAutoCompleteTextView mactv = (MultiAutoCompleteTextView) findViewById(R.id.mactv);
final String[] objects = new String[]{"黄石","黄皮","黄冈"};
//设置数据
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
android.R.id.text1,
objects);
mactv.setAdapter(adapter);
mactv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}
<?xml version="1.0" encoding="utf-8"?>
<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=".MainActivity" >
<!-- 下拉列表 -->
<Spinner
android:id="@+id/spinner"
android:spinnerMode="dialog"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<!--
自动完成提示框 提示一次
android:completionThreshold="1" 当输入一个字符后就开始匹配
-->
<AutoCompleteTextView
android:id="@+id/actv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"/>
<MultiAutoCompleteTextView
android:id="@+id/mactv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"/>
</LinearLayout>