java - How to use auto complete text in android -


i new in android. created simple application,that contains autocomplete text field.i wrote code unfortunately application stopped when run. there no error, how fix...

please 1 help!

mycode here:

mainactivity.java

package com.h2o;  import android.app.activity;  import java.text.dateformat; import java.util.arraylist; import java.util.calendar; import java.util.list; import java.util.locale;  import android.app.datepickerdialog; import android.app.dialog; import android.location.address; import android.location.geocoder; import android.support.v4.app.dialogfragment; import android.os.bundle;  import android.app.fragment; import android.app.fragmentmanager; import android.content.res.configuration; import android.support.annotation.nullable; import android.support.v4.app.actionbardrawertoggle; import android.support.v4.app.fragmentactivity; import android.support.v4.view.gravitycompat; import android.support.v4.widget.drawerlayout; import android.util.log; import android.view.layoutinflater; import android.view.menu; import android.view.menuitem; import android.view.view; import android.view.viewgroup; import android.widget.adapterview; import android.widget.arrayadapter; import android.widget.autocompletetextview; import android.widget.datepicker; import android.widget.edittext; import android.widget.listview; import android.widget.spinner; import android.widget.textview; import android.widget.toast;   public class mainactivity extends fragmentactivity {      private drawerlayout mdrawerlayout;     private listview mdrawerlist;     private actionbardrawertoggle mdrawertoggle;      private charsequence mdrawertitle;     private charsequence mtitle;     customdraweradapter adapter;      list<draweritem> datalist;     edittext medit;      private string[] states;     private spinner spinner;      autocompletetextview autotextview;         @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.activity_main);          string[] city= getresources().getstringarray(r.array.city);         autotextview = (autocompletetextview) findviewbyid(r.id.city_autocompletetextview);         arrayadapter<string> arrayadapter = new arrayadapter<string>(this,android.r.layout.simple_list_item_1,city);          autotextview.setthreshold(1);         autotextview.setadapter(arrayadapter);          // initializing         datalist = new arraylist<draweritem>();         mtitle = mdrawertitle = gettitle();         mdrawerlayout = (drawerlayout) findviewbyid(r.id.drawer_layout);         mdrawerlist = (listview) findviewbyid(r.id.left_drawer);          mdrawerlayout.setdrawershadow(r.drawable.drawer_shadow,                 gravitycompat.start);          // add drawer item datalist         datalist.add(new draweritem(true)); // adding spinner list - 0          datalist.add(new draweritem("wallet")); // adding header list - 1         datalist.add(new draweritem("balance", r.drawable.ic_balance)); // - 2           datalist.add(new draweritem("profile"));// adding header list - 3         datalist.add(new draweritem("personal", r.drawable.ic_account));         datalist.add(new draweritem("work", r.drawable.ic_account));         datalist.add(new draweritem("address", r.drawable.ic_account));         datalist.add(new draweritem("vehicle", r.drawable.ic_car));         datalist.add(new draweritem("preference", r.drawable.ic_pref));           datalist.add(new draweritem("other option")); // adding header list         datalist.add(new draweritem("about", r.drawable.ic_action_about));         datalist.add(new draweritem("settings", r.drawable.ic_action_settings));         datalist.add(new draweritem("help", r.drawable.ic_action_help));          adapter = new customdraweradapter(this, r.layout.custom_drawer_item,                 datalist);          mdrawerlist.setadapter(adapter);          mdrawerlist.setonitemclicklistener(new draweritemclicklistener());          getactionbar().setdisplayhomeasupenabled(true);         getactionbar().sethomebuttonenabled(true);          mdrawertoggle = new actionbardrawertoggle(this, mdrawerlayout,                 r.drawable.ic_drawer, r.string.drawer_open,                 r.string.drawer_close) {             public void ondrawerclosed(view view) {                 getactionbar().settitle(mtitle);                 invalidateoptionsmenu(); // creates call                 // onprepareoptionsmenu()             }              public void ondraweropened(view drawerview) {                 getactionbar().settitle(mdrawertitle);                 invalidateoptionsmenu(); // creates call                 // onprepareoptionsmenu()             }         };          mdrawerlayout.setdrawerlistener(mdrawertoggle);         }  //calendar picker     public void selectdate(view view) {         dialogfragment newfragment = new selectdatefragment();         newfragment.show(getsupportfragmentmanager(), "datepicker");     }     public void populatesetdate(int year, int month, int day) {         medit = (edittext)findviewbyid(r.id.dobtext);         medit.settext(month + "/" + day + "/" + year);     }     public class selectdatefragment extends dialogfragment implements datepickerdialog.ondatesetlistener     {           @override         public dialog oncreatedialog(bundle savedinstancestate) {             final calendar calendar = calendar.getinstance();             int yy = calendar.get(calendar.year);             int mm = calendar.get(calendar.month);             int dd = calendar.get(calendar.day_of_month);             return new datepickerdialog(getactivity(), this, yy, mm, dd);         }          public void ondateset(datepicker view, int yy, int mm, int dd) {             populatesetdate(yy, mm + 1, dd);         }      }       //spinner      @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.main, menu);         return true;     }      public void selectitem(string item, int possition) {         fragment fragment = null;         bundle args = new bundle();          switch(item) {             case "balance": fragment = new balancefragment(); break;             case "personal": fragment = new personalfragment(); break;             case "work": fragment = new workfragment(); break;             case "address": fragment = new addressfragment(); break;             case "vehicle": fragment = new vehiclefragment(); break;             case "preference": fragment = new preferencefragment(); break;             case "about": fragment = new aboutfragment(); break;             case "settings": fragment = new settingsfragment(); break;             case "help": fragment = new helpfragment(); break;             default: fragment = new defaultfragment(); break;         }          fragment.setarguments(args);         fragmentmanager frgmanager = getfragmentmanager();         frgmanager.begintransaction().replace(r.id.content_frame, fragment)                 .commit();          mdrawerlist.setitemchecked(possition, true);         settitle(datalist.get(possition).getitemname());         mdrawerlayout.closedrawer(mdrawerlist);       }         @override     public void settitle(charsequence title) {         mtitle = title;         getactionbar().settitle(mtitle);     }      @override     protected void onpostcreate(bundle savedinstancestate) {         super.onpostcreate(savedinstancestate);         // sync toggle state after onrestoreinstancestate has occurred.         mdrawertoggle.syncstate();     }      @override     public void onconfigurationchanged(configuration newconfig) {         super.onconfigurationchanged(newconfig);         // pass configuration change drawer toggles         mdrawertoggle.onconfigurationchanged(newconfig);     }      @override     public boolean onoptionsitemselected(menuitem item) {         // action bar home/up action should open or close drawer.         // actionbardrawertoggle take care of this.         if (mdrawertoggle.onoptionsitemselected(item)) {             return true;         }          return false;     }      private class draweritemclicklistener implements             listview.onitemclicklistener {         @override         public void onitemclick(adapterview<?> parent, view view, int position,                                 long id) {             if (datalist.get(position).gettitle() == null) {                 selectitem(datalist.get(position).getitemname(), position);             }         }     }   } 

log cat:

06-03 12:23:32.446    2843-2843/? i/art﹕ not late-enabling -xcheck:jni (already on)  06-03 12:23:32.637    2843-2843/com.h2o d/androidruntime﹕ shutting down vm  06-03 12:23:32.638    2843-2843/com.h2o e/androidruntime﹕ fatal exception: main      process: com.h2o, pid: 2843      java.lang.runtimeexception: unable start activity componentinfo{com.h2o/com.h2o.mainactivity}: java.lang.nullpointerexception: attempt invoke virtual method 'void android.widget.autocompletetextview.setthreshold(int)' on null object reference              @ android.app.activitythread.performlaunchactivity(activitythread.java:2298)              @ android.app.activitythread.handlelaunchactivity(activitythread.java:2360)              @ android.app.activitythread.access$800(activitythread.java:144)              @ android.app.activitythread$h.handlemessage(activitythread.java:1278)              @ android.os.handler.dispatchmessage(handler.java:102)              @ android.os.looper.loop(looper.java:135)              @ android.app.activitythread.main(activitythread.java:5221)              @ java.lang.reflect.method.invoke(native method)              @ java.lang.reflect.method.invoke(method.java:372)              @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:899)              @ com.android.internal.os.zygoteinit.main(zygoteinit.java:694)       caused by: java.lang.nullpointerexception: attempt invoke virtual method 'void android.widget.autocompletetextview.setthreshold(int)' on null object reference              @ com.h2o.mainactivity.oncreate(mainactivity.java:73)              @ android.app.activity.performcreate(activity.java:5937)              @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1105)              @ android.app.activitythread.performlaunchactivity(activitythread.java:2251)              at android.app.activitythread.handlelaunchactivity(activitythread.java:2360)              at android.app.activitythread.access$800(activitythread.java:144)              at android.app.activitythread$h.handlemessage(activitythread.java:1278)              at android.os.handler.dispatchmessage(handler.java:102)              at android.os.looper.loop(looper.java:135)              at android.app.activitythread.main(activitythread.java:5221)              at java.lang.reflect.method.invoke(native method)              at java.lang.reflect.method.invoke(method.java:372)              at com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:899)              at com.android.internal.os.zygoteinit.main(zygoteinit.java:694)

layout file

<?xml version="1.0" encoding="utf-8"?>  <linearlayout xmlns:android="http://schemas.android.com/apk/res/android"  android:orientation="vertical" android:layout_width="match_parent"  android:layout_height="match_parent"  android:weightsum="1">      <linearlayout          android:orientation="horizontal"          android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:weightsum="1">            <textview              android:layout_width="wrap_content"              android:layout_height="40dp"              android:text="address details"              android:id="@+id/address"              android:textcolor="#ff000000"              android:textsize="20dp"              android:layout_marginleft="10dp"              android:gravity="center" />      </linearlayout>        <linearlayout          android:orientation="horizontal"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:weightsum="1"          android:layout_weight="0.03">            <textview              android:layout_width="wrap_content"              android:layout_height="33dp"              android:text="tag address"              android:id="@+id/residential"              android:textcolor="#ff000000"              android:layout_marginleft="10dp"              android:layout_gravity="center"              android:gravity="center" />            <radiogroup              android:id="@+id/radiogroup"              android:layout_width="276dp"              android:layout_height="wrap_content"              android:orientation="horizontal"              android:layout_gravity="center"              android:weightsum="1">              <radiobutton                  android:layout_width="wrap_content"                  android:layout_height="wrap_content"                  android:text="home"                  android:id="@+id/home"                  android:layout_gravity="center"                  android:textcolor="#ff000000"                  android:checked="false"                  android:layout_weight="0.22"                  android:layout_marginleft="10dp" />                <radiobutton                  android:layout_width="wrap_content"                  android:layout_height="wrap_content"                  android:text="office"                  android:id="@+id/office"                  android:textcolor="#ff000000"                  android:checked="false"                  android:layout_gravity="center" />          </radiogroup>      </linearlayout>        <linearlayout          android:orientation="horizontal"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:weightsum="1"          android:layout_weight="0.06">            <textview              android:layout_width="48dp"              android:layout_height="wrap_content"              android:text="line 1"              android:id="@+id/address1"              android:textcolor="#ff000000"              android:layout_marginleft="10dp"              android:gravity="center" />            <edittext              android:layout_width="291dp"              android:layout_height="wrap_content"              android:inputtype="textpostaladdress"              android:ems="10"              android:id="@+id/addresstext"              android:layout_marginleft="50dp"              android:textcolor="#ff000000"              android:layout_weight="1.04" /> />        </linearlayout>        <linearlayout          android:orientation="horizontal"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:weightsum="1"          android:layout_weight="0.06">            <textview              android:layout_width="48dp"              android:layout_height="wrap_content"              android:text="line 2"              android:id="@+id/address2"              android:textcolor="#ff000000"              android:layout_marginleft="10dp"              android:gravity="center" />            <edittext              android:layout_width="291dp"              android:layout_height="wrap_content"              android:inputtype="textpostaladdress"              android:ems="10"              android:id="@+id/address2text"              android:layout_marginleft="50dp"              android:textcolor="#ff000000"              android:layout_weight="1.04" /> />        </linearlayout>      <linearlayout          android:orientation="horizontal"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:weightsum="1"          android:layout_weight="0.06">            <textview              android:layout_width="48dp"              android:layout_height="wrap_content"              android:text="city"              android:id="@+id/city"              android:textcolor="#ff000000"              android:layout_marginleft="5dp"              android:gravity="center"              android:layout_gravity="center" />                   <autocompletetextview              android:layout_width="112dp"              android:layout_height="wrap_content"              android:id="@+id/city_autocompletetextview"              android:ems="10"              android:layout_gravity="center" />            <textview              android:layout_width="wrap_content"              android:layout_height="33dp"              android:text="zipcode"              android:id="@+id/zipcode"              android:textcolor="#ff000000"              android:layout_marginleft="10dp"              android:layout_gravity="center"              android:gravity="center" />            <edittext              android:layout_width="291dp"              android:layout_height="wrap_content"              android:inputtype="number"              android:ems="10"              android:id="@+id/zipcodetext"              android:layout_marginleft="10dp"              android:textcolor="#ff000000"              android:layout_weight="1.04" /> />        </linearlayout>      <linearlayout          android:orientation="horizontal"          android:layout_width="match_parent"          android:layout_height="50dp"          android:weightsum="1"          android:layout_weight="0.09">            <textview              android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:text="country"              android:id="@+id/country"              android:textcolor="#ff000000"              android:layout_marginleft="10dp"              android:layout_gravity="center" />        <spinner          android:layout_width="75dp"          android:layout_height="31dp"          android:id="@+id/countryspinner"          android:entries="@array/country_list"          android:layout_marginleft="40dp"          android:spinnermode="dropdown"          android:outlineprovider="bounds"          android:layout_gravity="center" />            <textview              android:layout_width="51dp"              android:layout_height="match_parent"              android:text="state"              android:id="@+id/state"              android:textcolor="#ff000000"              android:layout_marginleft="10dp"              android:layout_gravity="center"              android:gravity="center" />            <spinner              android:layout_width="75dp"              android:layout_height="31dp"              android:id="@+id/statespinner"              android:entries="@array/state_list"              android:spinnermode="dropdown"              android:outlineprovider="bounds"              android:layout_weight="0.10"              android:layout_gravity="center"              android:layout_marginleft="10dp" />          </linearlayout>          <linearlayout          android:orientation="horizontal"          android:layout_width="match_parent"          android:layout_height="wrap_content"          android:weightsum="1"          android:layout_weight="0.06">            <textview              android:layout_width="wrap_content"              android:layout_height="33dp"              android:text="landmark"              android:id="@+id/landmark"              android:textcolor="#ff000000"              android:layout_marginleft="10dp"              android:layout_gravity="center"              android:gravity="center" />            <edittext              android:layout_width="291dp"              android:layout_height="wrap_content"              android:inputtype="textpostaladdress"              android:ems="10"              android:id="@+id/landmarktext"              android:layout_marginleft="40dp"              android:textcolor="#ff000000"              android:layout_weight="1.04" /> />        </linearlayout>  </linearlayout>

thanks advance!!

once check id below line in layout activity_main file

autotextview = (autocompletetextview) findviewbyid(r.id.city_autocompletetextview); 

here autotextview giving null.


Comments