像在百度输入框中一样,输入几个字后,下面会列出相近的搜索项。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);
}
}

更多相关文章

  1. 查看android里的数据库的内容的方法
  2. Android实现TextView部分文本监听单击事件
  3. Android重写OnTouchListener实现双击事件的监听
  4. android 长按和点击监听事件 谁先执行
  5. 用android-logging-log4j去实现log输出内容到sd卡中的文件的功能
  6. Android中WebView获取网页中标题 ,内容, 图片的方法

随机推荐

  1. 实现Android支付宝声波支付时的波纹视图
  2. android wear端数据和手机端数据
  3. 切身感受:Windows Phone 7 和 Android各有
  4. Android下通过hook技术实现透明加解密保
  5. 避免Android内存泄露(译)
  6. Toast用法
  7. 开发新浪微博android客户端
  8. 面向英特尔® 架构 (IA) 创建和移植基于
  9. Android技能必知必会
  10. Android Camera应用开发小结