Android之自動文本輸入識別提示

来源:http://www.cnblogs.com/androidshouce/archive/2016/07/15/5672496.html
-Advertisement-
Play Games

相信大家都熟悉自動識別提示吧,在我們的生活中隨處可見,今天就讓我為大家簡單介紹一下它是如何設計的。 所謂自動識別輸入即是根據用戶輸入的已有信息,為用戶提示可能的值,方便用戶完成輸入。在Android設備上這種功能分為:AutoCompleteTextView和MultiAutoCompleteTex ...


  相信大家都熟悉自動識別提示吧,在我們的生活中隨處可見,今天就讓我為大家簡單介紹一下它是如何設計的。

  所謂自動識別輸入即是根據用戶輸入的已有信息,為用戶提示可能的值,方便用戶完成輸入。在Android設備上這種功能分為:AutoCompleteTextView和MultiAutoCompleteTextView,前者為單個的自動識別,類似與搜索引擎的輸入框提示;後者為多個值自動識別,類似與發郵件時的郵箱輸入框。那它們倆到底如何使用呢?下麵就讓我們一起學習一下吧。

首先是佈局文件:

複製代碼
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    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=".Activityfive" >
    <AutoCompleteTextView 
        android:id="@+id/acTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="請輸入姓名:"
        android:textColor="#000"
        android:maxLength="10"
        />
    <MultiAutoCompleteTextView
        android:id="@+id/macTextView"
        android:layout_below="@id/acTextView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="請輸入城市:"
        android:textColor="#000"
        android:maxLength="20"
        />
</RelativeLayout>
複製代碼

  註:android:hint屬性為提示文字內容,當如何輸入框獲得焦點後自動消失

下麵是我們的Action:

 

複製代碼
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;

public class Activityfive extends Activity{
    
    private AutoCompleteTextView acTextView;
    private MultiAutoCompleteTextView macTextView;
    private String [] arr = {"abc","abx","abo","bdc","bdf"};
    private String [] brr = {"ab北京","ab南京","ab東京","bb莫斯科","bb英國","bb美國"};
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_five);
        acTextView = (AutoCompleteTextView) findViewById(R.id.acTextView);
        macTextView = (MultiAutoCompleteTextView) findViewById(R.id.macTextView);
        ArrayAdapter<String> arrAdapt = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, arr); 
        acTextView.setAdapter(arrAdapt);
        ArrayAdapter<String> brrAdapt = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, brr);
        macTextView.setAdapter(brrAdapt);
        macTextView.setThreshold(1);//設置輸入多少個字元開始自動匹配
        macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());//設置分隔符
    }
}
複製代碼

 

  代碼很簡單,沒有什麼深奧的地方,相信大家一看就可以理解,對於一些不好理解的地方,我也已經添加了註釋,希望對你有用。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 我也是看了騰訊isux的博客,解答了我關於flexbox一個很長時間的疑惑,就是flex佈局在安卓手機會出現內容長短不同導致不均分的現象。 具體的內容可以去看騰訊isux的博客,地址在這:https://isux.tencent.com/flexbox.html 我這裡也只是當作一個問題的紀錄 其實 ...
  • 線上實例 實例演示 預設 實例演示 每周第一天 實例演示 輸入框插件 實例演示 HTML data 屬性 實例演示 回調函數1 實例演示 回調函數2 使用方法 複製 複製 下載 ...
  • 安卓v7支持包下的ListView替代品————RecyclerView RecyclerView這個控制項也出來很久了,相信大家也學習的差不多了,如果還沒學習的,或許我可以帶領大家體驗一把這個藝術般的控制項。 據官方介紹,該控制項是屬於之間用的非常多的ListView和GridView的替代品,既然能替 ...
  • PagerAdapter 簡介 PagerAdapter是android.support.v4包中的類,它的子類有FragmentPagerAdapter, FragmentStatePagerAdapter,這兩個adapter都是Fragment的適配器,用於實現Fragment的滑動效果,這兩 ...
  • squareup 推出 retrofit2 已經有一段時間了,現在的版本比較穩定,沒有什麼大坑了。網路上的教程要麼太簡單,只是個Demo;要麼有些落時,要麼復用性比較差,所以自己寫個教程([email protected]),供大家參考。 1. 首先在build.gradle引入依賴 註意,這裡 ...
  • App Store: 編程詞典 - Swift version 1. UI優化 2. 提升穩定性 3. 換用內容免費,功能收費形式(老用戶不受影響) App Store: 編程詞典 - Swift version ...
  • App Store: 天的故事 1. 界面優化 2. 修複bug App Store: 天的故事 ...
  • 02
    02 ...
一周排行
    -Advertisement-
    Play Games
  • Timer是什麼 Timer 是一種用於創建定期粒度行為的機制。 與標準的 .NET System.Threading.Timer 類相似,Orleans 的 Timer 允許在一段時間後執行特定的操作,或者在特定的時間間隔內重覆執行操作。 它在分散式系統中具有重要作用,特別是在處理需要周期性執行的 ...
  • 前言 相信很多做WPF開發的小伙伴都遇到過表格類的需求,雖然現有的Grid控制項也能實現,但是使用起來的體驗感並不好,比如要實現一個Excel中的表格效果,估計你能想到的第一個方法就是套Border控制項,用這種方法你需要控制每個Border的邊框,並且在一堆Bordr中找到Grid.Row,Grid. ...
  • .NET C#程式啟動閃退,目錄導致的問題 這是第2次踩這個坑了,很小的編程細節,容易忽略,所以寫個博客,分享給大家。 1.第一次坑:是windows 系統把程式運行成服務,找不到配置文件,原因是以服務運行它的工作目錄是在C:\Windows\System32 2.本次坑:WPF桌面程式通過註冊表設 ...
  • 在分散式系統中,數據的持久化是至關重要的一環。 Orleans 7 引入了強大的持久化功能,使得在分散式環境下管理數據變得更加輕鬆和可靠。 本文將介紹什麼是 Orleans 7 的持久化,如何設置它以及相應的代碼示例。 什麼是 Orleans 7 的持久化? Orleans 7 的持久化是指將 Or ...
  • 前言 .NET Feature Management 是一個用於管理應用程式功能的庫,它可以幫助開發人員在應用程式中輕鬆地添加、移除和管理功能。使用 Feature Management,開發人員可以根據不同用戶、環境或其他條件來動態地控制應用程式中的功能。這使得開發人員可以更靈活地管理應用程式的功 ...
  • 在 WPF 應用程式中,拖放操作是實現用戶交互的重要組成部分。通過拖放操作,用戶可以輕鬆地將數據從一個位置移動到另一個位置,或者將控制項從一個容器移動到另一個容器。然而,WPF 中預設的拖放操作可能並不是那麼好用。為瞭解決這個問題,我們可以自定義一個 Panel 來實現更簡單的拖拽操作。 自定義 Pa ...
  • 在實際使用中,由於涉及到不同編程語言之間互相調用,導致C++ 中的OpenCV與C#中的OpenCvSharp 圖像數據在不同編程語言之間難以有效傳遞。在本文中我們將結合OpenCvSharp源碼實現原理,探究兩種數據之間的通信方式。 ...
  • 一、前言 這是一篇搭建許可權管理系統的系列文章。 隨著網路的發展,信息安全對應任何企業來說都越發的重要,而本系列文章將和大家一起一步一步搭建一個全新的許可權管理系統。 說明:由於搭建一個全新的項目過於繁瑣,所有作者將挑選核心代碼和核心思路進行分享。 二、技術選擇 三、開始設計 1、自主搭建vue前端和. ...
  • Csharper中的表達式樹 這節課來瞭解一下表示式樹是什麼? 在C#中,表達式樹是一種數據結構,它可以表示一些代碼塊,如Lambda表達式或查詢表達式。表達式樹使你能夠查看和操作數據,就像你可以查看和操作代碼一樣。它們通常用於創建動態查詢和解析表達式。 一、認識表達式樹 為什麼要這樣說?它和委托有 ...
  • 在使用Django等框架來操作MySQL時,實際上底層還是通過Python來操作的,首先需要安裝一個驅動程式,在Python3中,驅動程式有多種選擇,比如有pymysql以及mysqlclient等。使用pip命令安裝mysqlclient失敗應如何解決? 安裝的python版本說明 機器同時安裝了 ...