• Android开发(30)--AutoCompleteTextView和MultiAutoCompleteTextView自动提示输入内容


    首先大家都见过类似这种效果,

    AutoCompleteTextView是实现动态匹配输入的内容

    下面就通过一个实例来说明AutoCompleteTextView,同样,AutoCompleteTextView也需要一个适配器提供数据,当输入文字时,下面的提示就是一个列表,运行效果如图

    附源码:

    布局文件:

    <AutoCompleteTextView
            android:id="@+id/auto"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_below="@+id/textView1"
            android:layout_marginTop="20dp"
            android:ems="10" >
    
            <requestFocus />
        </AutoCompleteTextView>


     

    <MultiAutoCompleteTextView
            android:id="@+id/multiAuto"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignRight="@+id/auto"
            android:layout_below="@+id/textView2"
            android:layout_marginTop="19dp"
            android:ems="10" />

    实现类:

    package com.example.autocomplete;
    
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.Menu;
    import android.widget.ArrayAdapter;
    import android.widget.AutoCompleteTextView;
    import android.widget.MultiAutoCompleteTextView;
    
    public class MainActivity extends Activity {
    	private AutoCompleteTextView auto;
    	private MultiAutoCompleteTextView mulAuto;
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		auto=(AutoCompleteTextView) findViewById(R.id.auto);
    		mulAuto= (MultiAutoCompleteTextView) findViewById(R.id.multiAuto);
    		String[] autoStrings = new String[] { "百度", "百度影音", "百度地图","百度文库",
    				"java", "javaweb","javascript" };
    		// 第二个参数表示适配器的下拉风格
    		ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,
    				android.R.layout.simple_dropdown_item_1line, autoStrings);
    		auto.setAdapter(adapter);
    		mulAuto.setAdapter(adapter);
    		// 完成对选项的拆分的功能,以逗号进行拆分
    		mulAuto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    	}
    
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		// Inflate the menu; this adds items to the action bar if it is present.
    		getMenuInflater().inflate(R.menu.main, menu);
    		return true;
    	}
    
    }
    

    如果实现历史记录提示,参见点击打开链接

  • 相关阅读:
    安装minio单机
    linux使用某非root用户执行开机启动项
    Maven Plugin fork 在 pom.xml中的作用
    Sourcetree 使用之 git add, git commit, git push, git reset commit
    idea远程debug k8s容器服务
    WebService Client端
    Maven编译外部jar包问题
    Sourcetree 使用之 git stash save 和 git stash pop
    Sybase 相关
    FW300R手机不能上网解决方法
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3165513.html
Copyright © 2020-2023  润新知