Android教程(十五)– 自動提示框的使用

本章我們將會說說,自動提示框AutoCompleteTextView的使用。

相信我們使用百度或者谷歌等搜索的時候,在輸入框輸入一個字,輸入框下面就會出現相關的提示。

其實這個功能會為我們帶來很多便利,我們來看看它是怎麼實現的。

第一步,建立一個工程Ep.AutoCompleteTextView.

第二步,隨便設計一下視圖。

[java] 
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android" 
    xmlns:tools="https://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=".MainActivity" > 
 
    <TextView 
        android:id="@+id/textView1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="@string/hello_world" /> 
 
    <AutoCompleteTextView 
        android:id="@+id/autoCompleteTextView1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignLeft="@+id/textView1" 
        android:layout_below="@+id/textView1" 
        android:layout_marginTop="16dp" 
        android:ems="10" > 
 
        <requestFocus /> 
    </AutoCompleteTextView> 
 
</RelativeLayout> 

<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://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=".MainActivity" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

    <AutoCompleteTextView
        android:id="@+id/autoCompleteTextView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="16dp"
        android:ems="10" >

        <requestFocus />
    </AutoCompleteTextView>

</RelativeLayout>
第三步,寫核心文件。

[java] 
package com.example.ep.autocompletetextview; 
 
import android.os.Bundle; 
import android.app.Activity; 
import android.widget.ArrayAdapter; 
import android.widget.AutoCompleteTextView; 
 
public class MainActivity extends Activity { 
 
    private AutoCompleteTextView atct; 
    private static final String[] autoStrs = new String[]{"J","Jo","Jov","Jove","Joven"};  
 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
         
        atct=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1); 
        ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,autoStrs); 
        atct.setAdapter(adapter); 
    } 
 

package com.example.ep.autocompletetextview;

import android.os.Bundle;
import android.app.Activity;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class MainActivity extends Activity {

 private AutoCompleteTextView atct;
 private static final String[] autoStrs = new String[]{"J","Jo","Jov","Jove","Joven"};

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  atct=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
  ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,autoStrs);
  atct.setAdapter(adapter);
 }

}

 

You May Also Like