原帖地址:http://blog.sina.com.cn/s/blog_54109a5801012pmi.html


AutoCompleteTextView是自动完成输入内容控件

其常用属性定义如下

<AutoCompleteTextView
android:id="@+id/mp002_top_place_input"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:layout_marginTop="5dp" >
</AutoCompleteTextView>

其中android:completionThreshold定义了从第几个字符开始显示候补列表

默认值为2

使用例:

AutoCompleteTextView mPlace = (AutoCompleteTextView)findViewById(R.id.mp002_top_place_input);

ArrayList<String> result = new ArrayList<String>();
result.add("1111111");
result.add("1222222");
mPlace.setAdapter(new ArrayAdapter<String>(
MP002TopActivity.this,
android.R.layout.simple_dropdown_item_1line,
result)
);

局限性是completionThreshold设定的最小值是1

小于1的情况下,会默认变成1。

所以要在不输入任何字符的条件下显示候补列表

就必须重载AutoCompleteTextView这个控件。

public class MyAutoCompleteTextView extends AutoCompleteTextView{

public MyAutoCompleteTextView(Context context) {
super(context);
}

public MyAutoCompleteTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}

public MyAutoCompleteTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}

@Override
public boolean enoughToFilter() {
return true;
}

@Override
protected void onFocusChanged(boolean focused, int direction, Rect previouslyFocusedRect) {
super.onFocusChanged(focused, direction, previouslyFocusedRect);

performFiltering(getText(), KeyEvent.KEYCODE_UNKNOWN);
}

}

enoughToFilter()是判断输入文字列长度是否满足现实候补列表的要求的方法。

onFocusChanged()是当控件获得焦点时让其显示候补列表。

更多相关文章

  1. android 圆形头像—— android开源系列:CircleImageView自定义圆
  2. android中列表选项、单选选项、多选选项对话框的使用
  3. TableLayout
  4. Android(安卓)ImageView控件的MaxWidth、MaxHeight不起作用
  5. android半透明activity设置
  6. 高级控件1
  7. Android点击水波纹效果
  8. Android列表控件Spinner简单用法示例
  9. Android--取得控件在手机屏幕上的位置

随机推荐

  1. Android踩坑日记:Android动态权限分析和解
  2. Android(安卓)自定义View金额、价格样式
  3. android fragment新手简单应用(实现界面之
  4. Android(安卓)数据表的更新的 解决方案?
  5. Android实现拍照或从相册中获取图片并且
  6. 关于Unity发布苹果并真机测试的设置与连接
  7. Android中实现native服务利用binder与应
  8. Android的签名文件生成两种方法
  9. 避免Drawable保持引用的内存泄露
  10. android textview 排版混乱问题