Android(安卓)autocompleteTextview自动补齐
像在百度输入框中一样,输入几个字后,下面会列出相近的搜索项。Android可以利用AutoCompleteTextView来实现,实现方法如下:
第一步,布局文件:
<AutoCompleteTextView
android:id="@+id/autoCompleteChannelName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:completionHint="请选择营业厅"
android:completionThreshold="2"//表示输入两个字后开始找相匹配的项
android:ems="10" >
<requestFocus />
</AutoCompleteTextView>
第二步,activity后台实现:
//智能提示框内容
private String[] channelName = {"aa","bb","baa","aacd","aaadd"};
//下拉框中的内容对应的ID
private long [] channelIds={1,2,3,4,5};
//下拉框所需的适配器
private ArrayAdapter<String> autoAdapter;
//控件初始化:
autoCompleteTextView = (AutoCompleteTextView)findViewById(R.id.autoCompleteChannelName);
//初始化下拉框中的内容:
autoAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, channelName);
autoCompleteTextView.setAdapter(autoAdapter);
//绑定选择项的事件:
myOnItemSelectListen ml = new myOnItemSelectListen(this,autoAdapter);
autoCompleteTextView.setOnItemClickListener(ml);
class myOnItemSelectListen implements OnItemClickListener{
private ArrayAdapter<String> myArrayAdapter;
private Activity mcontext;
public myOnItemSelectListen(Activity c,ArrayAdapter<String> ad){
this.myArrayAdapter = ad;
this.mcontext = c;
}
public void onItemClick(AdapterView<?> parent, View v, int pos,long row) {
for(int i=0;i<channelIds.length;i++){
if (autoCompleteTextView.getText().toString().equals(channelName[i])) {
dt.setChannel_id(channelIds[i]);
break;
}
}
parent.setVisibility(View.VISIBLE);
}
}
更多相关文章
- Android:打开程序的全屏页面
- ROS与Android的通信
- 手动root android 模拟器(emulator)详细过程
- 用android-logging-log4j去实现log输出内容到sd卡中的文件的功能
- Android(安卓)EditText密码框中字体和普通的输入框不同
- Android中WebView获取网页中标题 ,内容, 图片的方法
- android隐藏IME(输入法)输入框
- Android下拉刷新和上拉加载更多
- Android(安卓)-- 过滤器相关