zoukankan      html  css  js  c++  java
  • Android-自动完成提示框CompletionTextView

    自动完成提示框CompletionTextView可以实现以下效果(提示框从那里出来是系统自动处理的);

    类似于在百度输入框,输入一个字符,会自动提示很多和这个相关的条目内容


    定义自动完成提示框(此控件特点只会提示一次)AutoCompleteTextView

    Layout代码:

    <?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">
    
        <!--
            定义自动完成提示框(此控件特点只会提示一次)
            android:completionThreshold="1" 设置为:1 代表输入一个字就会提示
         -->
        <AutoCompleteTextView
            android:id="@+id/actv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:completionThreshold="1"
            />
    
    </LinearLayout>

    Java代码绑定数据:

      private void initAutoCompleteTextView() {
            AutoCompleteTextView autoCompleteTextView = findViewById(R.id.actv);
    
            // 组装数据
            final List<String> data = new ArrayList<>();
            for (int i=0; i< 30; i++) {
                data.add("自动完成提示框 提示一次" + i);
            }
    
            // AutoCompleteTextView的绑定数据 可以想象成 ListView的绑定数据
            ArrayAdapter adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1,
                    android.R.id.text1,
                    data);
    
            autoCompleteTextView.setAdapter(adapter);
        }
    
    
    
    

    定义自动完成提示框(此控件特点会提示多次)MultiAutoCompleteTextView

    Layout代码:

    <?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">
    
        <!--
            定义自动完成提示框(此控件特点会提示多次)
            android:completionThreshold="1" 设置为:1 代表输入一个字就会提示
         -->
        <MultiAutoCompleteTextView
            android:id="@+id/mactv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:completionThreshold="1"
            />
    
    </LinearLayout>

    Java代码绑定数据,MultiAutoCompleteTextView :

    // 多次提示框,需要设置以下属性才能真正多次提示
    multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
    private void initMultiAutoCompleteTextView() {
            MultiAutoCompleteTextView multiAutoCompleteTextView = findViewById(R.id.mactv);
    
            // 组装数据
            final List<String> data = new ArrayList<>();
            for (int i=0; i< 30; i++) {
                data.add("自动完成提示框 提示多次" + i);
            }
    
            // MultiAutoCompleteTextView的绑定数据 可以想象成 ListView的绑定数据
            ArrayAdapter adapter = new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1,
                    android.R.id.text1,
                    data);
            multiAutoCompleteTextView.setAdapter(adapter);
    
            // 多次提示框,需要设置以下属性才能真正多次提示
            multiAutoCompleteTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
        }
  • 相关阅读:
    吉特仓储管系统(开源WMS)--分享两月如何做到10W+的项目
    吉特仓库管理系统(开源)-如何在网页端启动WinForm 程序
    RequireJS中的require如何返回模块
    RequireJS shim 用法说明
    从ISTIO熔断说起-轻舟网关熔断
    数据库与数据仓库的区别是什么
    API是什么
    要想业务中台建得快,最好用Service Mesh来带
    中台建设之路-中台建设怎么做?建设中台需要具备什么?
    为什么要建设中台
  • 原文地址:https://www.cnblogs.com/android-deli/p/10100331.html
Copyright © 2011-2022 走看看