`
Kevin12
  • 浏览: 230598 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

android的AutoCompleteTextView和MultiAutoCompleteTextView控件

    博客分类:
  • Java
 
阅读更多
AutoCompleteTextView:自动完成输入内容的控件。
java.lang.Object
   ↳ android.view.View
     ↳ android.widget.TextView
       ↳ android.widget.EditText
         ↳ android.widget.AutoCompleteTextView

它是一个可编辑的TextView,使用该类型的控件,当用户输入文字时候,会以列表的形式显示事先在适配器中定义的字符串。适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据。比如浏览器搜索框,通讯录输入框等。
简单的例子如下:
布局文件:main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="autoCompleteTextView" />
    <AutoCompleteTextView android:id="@+id/autoTextView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

实现activity:Main.java
public class Main extends Activity {
	/** Called when the activity is first created. */
	private AutoCompleteTextView autoCompleteTextView;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		autoCompleteTextView = (AutoCompleteTextView) this
				.findViewById(R.id.autoTextView);
		String[] autoStr = new String[] { "天气", "天气预报", "天气晴朗",
				"qq", "qq 游戏"};
		// 第二个参数表示适配器下了风格
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(Main.this,
				android.R.layout.simple_dropdown_item_1line, autoStr);
		autoCompleteTextView.setAdapter(adapter);
	}
}


MultiAutoCompleteTextView控件:
java.lang.Object
   ↳ android.view.View
     ↳ android.widget.TextView
       ↳ android.widget.EditText
         ↳ android.widget.AutoCompleteTextView
           ↳ android.widget.MultiAutoCompleteTextView
它类似于AutoCompleteTextView控件,如果输入多个值时自动显示出下拉框,如果输入的多个则分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配。
用的较多的是群发短信,邮件等,使用时需要执行设置分隔符方法。
简单的例子如下:
布局文件:main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="MultiAutoCompleteTextView"/>
    <MultiAutoCompleteTextView android:id="@+id/mul"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

实现activity:Main.java
public class Main extends Activity {
	/** Called when the activity is first created. */
	private MultiAutoCompleteTextView mul;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		mul = (MultiAutoCompleteTextView)findViewById(R.id.mul);
		String[] autoStr = new String[] { "天气", "天气预报", "天气晴朗",
				"qq", "qq 游戏"};
		// 第二个参数表示适配器下了风格
		ArrayAdapter<String> adapter = new ArrayAdapter<String>(Main.this,
				android.R.layout.simple_dropdown_item_1line, autoStr);
		autoCompleteTextView.setAdapter(adapter);
		mul.setAdapter(adapter);
		mul.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
	}
}

  • 大小: 99.9 KB
  • 大小: 94.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics