首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

一步一步学android控件(之6) —— MultiAutoCompleteTextView

2013-11-01 
一步一步学android控件(之六) —— MultiAutoCompleteTextView今天学习的控件是MultiAutoCompleteTextView 。

一步一步学android控件(之六) —— MultiAutoCompleteTextView

今天学习的控件是MultiAutoCompleteTextView 。 提到MultiAutoCompleteTextView 我们就自然而然地想到AutoCompleteTextView ,就想知道他们之间到底有什么区别。在讲他们区别之前呢先来看看下面两张图片:

           一步一步学android控件(之6) —— MultiAutoCompleteTextView                               一步一步学android控件(之6) —— MultiAutoCompleteTextView

    (图1)AutoCompleteTextView                           (图2)MultiAutoCompleteTextView

这两张图片中使用的都是同样的Adapter , 然而在图1中输入图2中的内容时却得不到任何内容,为什么?

先从他们的关系上说说, MultiAutoCompleteTextView 继承自AutoCompleteTextView(废话 ... 囧) , 在使用上多了一个Tokenizer —— 在图2中,这个Tokenizer就是符号 ‘ , ’ ,当遇到这个符号时会根据光标的位置计算当前关注的信息。如:如果光标在  d  的位置,则 ‘ , ’之前的字串有效;如果光标在 g 位置,则 ‘ , ’ 后面的字串有效;另外如果光标前后都有符号‘ , ’ , 则在两个 ‘ , ’ 中的内容有效。对于这段解释,下面的代码获取更具说服力:

private void handleItemClicked(int action) {        Intent intent = new Intent();        switch (action) {        case ViewData.TEXT_VIEW_ID:            intent.setClass(mContext, WidgetTextView.class);            mContext.startActivity(intent);            break;        case ViewData.BUTTON_ID:            intent.setClass(mContext, WidgetButtonActivity.class);            mContext.startActivity(intent);            break;        case ViewData.EDIT_TEXT_ID:            intent.setClass(mContext, WidgetEditTextActivity.class);            mContext.startActivity(intent);            break;        case ViewData.AUTO_COMPLETE_TEXTVIEW_ID:            intent.setClass(mContext, WidgetAutoCompleteActivity.class);            mContext.startActivity(intent);            break;        case ViewData.MULTI_AUTO_COMPLETE_TEXTVIEW_ID:            intent.setClass(mContext, WidgetMultiAutoCompleteActivity.class);            mContext.startActivity(intent);            break;        }    }

MultiAutoCompleteTextView 就介绍到这里了,下一个控件 Toast 。



热点排行