zoukankan      html  css  js  c++  java
  • AutoCompleteTextView自动补全文本框

    AutoCompleteTextView的作用是在输入框中输入我们想要输入的信息,就会出现其他与其相关的提示信息

    下面是实例代码:

    MainActivity.java
    package com.shaoxin.myautocompletetextview;
    
    import android.content.ContentResolver;
    import android.content.Context;
    import android.database.Cursor;
    import android.os.Bundle;
    import android.provider.ContactsContract;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.ArrayAdapter;
    import android.widget.AutoCompleteTextView;
    import android.widget.CursorAdapter;
    import android.widget.TextView;
    
    import java.util.ArrayList;
    import java.util.List;
    
    
    public class MainActivity extends AppCompatActivity {
        private AutoCompleteTextView autoCompleteTextView;
        private String[] strings = {"aaa", "aabb", "aabc"};
        private ArrayAdapter arrayAdapter;
        private ContentResolver contentResolver;
        private List list;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            //自动补全文本框
            autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
            //内容解析器
            contentResolver = getContentResolver();
            list = new ArrayList();
            //光标接受内容解析器所解析的内容,调用电话薄,记住要加权限
            Cursor cursor = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, new String[]{"_id", "data1", "display_name"},
                    null, null, null);
            //光标下移,将指向的内容存入集合当中
            while (cursor.moveToNext()) {
                String string = cursor.getString(1);
                list.add(string);
            }
            //        arrayAdapter = new ArrayAdapter(MainActivity.this, android.R.layout.simple_list_item_1, list);
            //        autoCompleteTextView.setAdapter(arrayAdapter);
            MyAdapter myAdapter = new MyAdapter(MainActivity.this, cursor);
            autoCompleteTextView.setAdapter(myAdapter);
        }
        //自定义适配器,继承光标适配器
        class MyAdapter extends CursorAdapter {
    
            MyAdapter(Context context, Cursor c) {
                super(context, c);
            }
    
            @Override
            public View newView(Context context, Cursor cursor, ViewGroup parent) {
                //视图填充
                View view = View.inflate(MainActivity.this, R.layout.auto_view, null);
                return view;
            }
    
            @Override
            public void bindView(View view, Context context, Cursor cursor) {
                TextView textView = (TextView) view.findViewById(R.id.txt);
                textView.setText(cursor.getString(1));
    
            }
        }
    }
    activity_main.xml
    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.shaoxin.myautocompletetextview.MainActivity">
    
        <AutoCompleteTextView
            android:id="@+id/autoCompleteTextView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:completionThreshold="1"
            android:text="请输入内容" />
    </RelativeLayout>

    auto_view.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
    
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@mipmap/ic_launcher" />
    
        <TextView
            android:id="@+id/txt"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    
    </LinearLayout>

    将代码直接导入运行即可

  • 相关阅读:
    php服务器安装memcache
    [PHP脚本]安装及使用
    [PHP]针对外服务器mail函数的php.ini配置
    [COBOL]安装配置及大型机模拟Hercules配置
    [Sqlite3].help中的命令介绍
    [NavigatLite4Mysql]DB管理工具使用
    [MS-SQLserver2005]Windows64位安装问题
    [MS-SQL]20130806_LocalDB_DOS命令使用
    [MS-SQL]20130806_LocalDB安装
    [MS]Microsoft SQL Server 2008 R2 开发版/企业版/标准版
  • 原文地址:https://www.cnblogs.com/ShaoXin/p/6131781.html
Copyright © 2011-2022 走看看