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
Post a Comment