Android Auto Complete Tutorial

Hvis du ønsker å få forslag, når du skriver inn et redigerbart tekstfelt, kan du gjøre dette via AutoCompleteTextView. Den gir forslag automatisk når brukeren skriver. Listen over forslag vises i en rullegardinmeny som brukeren kan velge et element for å erstatte innholdet i redigeringsboksen med.

For å kunne bruke AutoCompleteTextView må du først opprette en AutoCompletTextView feltet i xml. Syntaksen er gitt nedenfor
< AutoCompleteTextView android. Id = "+ id /autoCompleteTextView1" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: layout_alignParentTop = "true" android: layout_centerHorizontal = "true "android: layout_marginTop =" 65dp "android: ems =" 10 ">

Etter det, må du få en henvisning til denne textview i java. Syntaksen er gitt nedenfor
privat AutoCompleteTextView ACTV;. ACTV = (AutoCompleteTextView) findViewById (R.id.autoCompleteTextView1);

Den neste tingen du trenger å gjøre er å spesifisere en liste over forslag elementer som skal vises. Du kan spesifisere listeelementene som en streng array i java eller i strings.xml. Syntaksen er gitt nedenfor
String [] lands = getResources () getStringArray (R.array.list_of_countries),.. ArrayAdapter < String > adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,countries);actv.setAdapter(adapter);

The matrise adapter klasse er ansvarlig for å vise dataene som listen i forslagsboksen for tekstfeltet. setAdapter
metoden brukes til å stille inn adapteren i autoCompleteTextView. Bortsett fra disse metodene, er de andre metodene for Auto Complete oppført nedenfor
Sr.NoMethod &.; description1 getAdapter ()

Denne metoden returnerer en filtrerbare liste adapter brukes for automatisk fullføring
2 getCompletionHint ()

Denne metoden returnerer valgfri hint tekst vises nederst av den matchende
3 getDropDownAnchor ()

Denne metoden returnerer returnerer id for den oppfatning at autofullfør nedtrekkslisten er forankret til.
4 getListSelection ()

Denne metoden returnerer posisjonen til rullegardin visning valg, hvis det er en
5 isPopupShowing ()

Denne metoden viser om popup-meny vises
6 setText (CharSequence tekst, boolean filter)

Denne metoden setter teksten, bortsett fra at det kan deaktivere filtrering
7 showDropDown ()

Denne metoden viser rulle ned på skjermen.

eksempel

eksempelet nedenfor viser bruken av AutoCompleteTextView klasse. Det kasser et grunnleggende program som lar deg skrive inn og viser forslag på enheten din.

For å eksperimentere med dette eksempelet, må du kjøre dette på en faktisk enhet eller i en emulator.
StepsDescription1You vil bruke Android Studio for å lage en Android-applikasjon under en pakke pakke com.example.sairamkrishna.myapplication. Mens du oppretter dette prosjektet, må du Target SDK og kompilere med på den nyeste versjonen av Android SDK for å bruke høyere nivåer av APIs.2Modify src /MainActivity.java fil for å legge AutoCompleteTextView code3Modify layout XML-res /layout /activity_main.xml legge til GUI komponent dersom required.4Run programmet og velge en som kjører android-enhet og installere programmet på den og kontrollere resultatene.

Her er innholdet i src /MainActivity.java
emballasjen. example.sairamkrishna.myapplication, import android.app.Activity, import android.content.Context, import android.media.AudioManager, import android.media.MediaPlayer, import android.media.MediaRecorder, import android.os.Bundle, import android .os.Environment, import android.view.Menu, import android.view.MenuItem, import android.view.View, import android.view.animation.Animation, import android.view.animation.AnimationUtils, import android.widget.ArrayAdapter , import android.widget.AutoCompleteTextView, import android.widget.Button, import android.widget.EditText, import android.widget.ImageView, import android.widget.MultiAutoCompleteTextView, import android.widget.Toast, import java.io.IOException; public class MainActivity strekker aktivitet {AutoCompleteTextView tekst; MultiAutoCompleteTextView tekst1; String [] språk = { "Android", "java", "IOS", "SQL", "JDBC", "Web services"}; Override Beskyttet void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); text = (AutoCompleteTextView) findViewById (R.id.autoCompleteTextView1); text1 = (MultiAutoCompleteTextView) findViewById (R.id.multiAutoCompleteTextView1); ArrayAdapter adapter = ny ArrayAdapter (dette, android.R.layout.simple_list_item_1, språk); text.setAdapter (adapter); text.setThreshold (1); text1.setAdapter (adapter); text1.setTokenizer (ny MultiAutoCompleteTextView.CommaTokenizer ()); }Override Public boolean onCreateOptionsMenu (Meny menyen) {//Blås menyen; dette legger til elementer i handlingsfeltet hvis det er til stede. . GetMenuInflater () blåse (R.menu.menu_main, menyen); return true; }Override Public boolean onOptionsItemSelected (MENUITEM element) {//Håndtak handlingslinjen element klikk her. Handlingen bar vil //automatisk håndtere klikk på Hjem /Opp-knappen, så lenge //som du angir en forelder aktivitet i AndroidManifest.xml. int id = item.getItemId (); //Noinspection SimplifiableIfStatement if (id == R.id.action_settings) {return true; } Returnere super.onOptionsItemSelected (post); }}

Her er innholdet i activity_main.xml
< RelativeLayout xmlns: android = "http://schemas.android.com/apk/res/android~~number=plural" xmlns: verktøy = "http://schemas.android.com/tools" android: layout_width = "match_parent" android: layout_height = "match_parent" android: paddingLeft = "@ dimen /activity_horizontal_margin" android: paddingRight = "@ dimen /activity_horizontal_margin" android: paddingTop = "@ dimen /activity_vertical_margin" android: paddingBottom = "@ dimen /activity_vertical_margin" verktøy: kontekst = ". MainActivity" > ≪ TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Android Auto Complete" android: id = "+ id /textView" android: Tekststørrelse = "30dp" android: layout_alignParentTop = "true "android: layout_alignParentRight =" true "android: layout_alignParentEnd =" true "/> ≪ TextView android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: text = "Tutorialspoint" android: id = "+ id /textView2" android: textcolor = "# ff3eff0f" android: Tekststørrelse = "35dp" android: layout_below = "+ id /textView" android: layout_centerHorizontal = "true" /> ≪ Imageview android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: id = "+ id /bildeVis" android: src = "@ teikne /logo" android: layout_below = "+ id /textView2" android : layout_alignLeft = "+ id /textView2" android: layout_alignStart = "+ id /textView2" android: layout_alignRight = "+ id /textView2" android: layout_alignEnd = "+ id /textView2" /> ≪ AutoCompleteTextView android: id = "+ id /autoCompleteTextView1" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: ems = "10" android: layout_below = "+ id /bildeVis" android: layout_alignLeft = "+ id /bildeVis" android: layout_alignStart = "+ id /bildeVis" android: layout_marginTop = "72dp" android: hint = "Autofullfør TextView" > ≪ requestFocus /> ≪ /AutoCompleteTextView > ≪ MultiAutoCompleteTextView android: id = "+ id /multiAutoCompleteTextView1" android: layout_width = "wrap_content" android: layout_height = "wrap_content" android: ems = "10" android: layout_below = "+ id /autoCompleteTextView1" android: layout_alignLeft = "+ id /autoCompleteTextView1" android: layout_alignStart = "+ id /autoCompleteTextView1" android: hint = "Multi Auto Complete" /> ≪ /RelativeLayout >

Her er innholdet i strings.xml
< ressurser > ≪ string name = "app_name" > Min Application < /string > ≪ string name = "hello_world" > Hei, verden <! /String > ≪ string name = "action_settings" > Innstillinger < /string > < /ressurser >

Her er innholdet i AndroidManifest.xml
< xml version = "1.0" encoding? = "utf-8" > < manifest xmlns: android = "http://schemas.android.com/apk/res/android" pakken = "com.example.autocomplete" android: version = "1" android : Versjons = "1.0" > ≪ søknad android: allowBackup = "true" android: icon = "@ teikne /ic_launcher" android: label = "@ string /app_name" android: tema = "@ stil /AppTheme" > ≪ aktivitet android: name = "com.example.sairamkrishna.myapplication.MainActivity" android: label = "@ string /app_name" > ≪ intent-filter > ≪ handling android: name = "android.intent.action.MAIN" /> ≪ kategorien android: name = "android.intent.category.LAUNCHER" /> ≪ /intent-filter > ≪ /aktivitet > ≪ /søknad > < /manifest >

La oss prøve å kjøre programmet. Jeg antar at du har koblet AVD mens du gjør oppsett miljø. For å kjøre programmet fra Android Studio, åpne en av prosjektets aktivitets filer, og klikk Kjør ikonet fra verktøylinjen. Android studio vil installere dette programmet på din AVD og din AVD vises følgende skjermbilde.

Nå bare skriver i tekstvisning for å se forslag av språkene. Som jeg bare skrive en bokstav som er som a
, og det viser meg forslag om språk.

multiAutoCompleteTextView viser forslag til ikke bare et ord, men for hele teksten. Som etter å skrive det første ordet, når jeg begynner å skrive det andre ordet, viser det meg forslagene. Dette kan bli vist på bildet nedenfor.