Android/Java Fatal Exception Main -
i'm trying write simple phonebook android app, , when try run it, gives me bunch of errors, , don't have idea mistakes. i'm trying right now, read in list of names file, , display in listview. code:
public class mainactivity extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); final listview listview = (listview) findviewbyid(r.id.listview1); final arraylist<string> names = new arraylist<string>(); try { scanner sc = new scanner(getassets().open(string.format("data.txt"))); while(sc.hasnextline()) { names.add(sc.nextline()); } } catch (ioexception ioe) { system.out.println("failed load file"); } final stablearrayadapter adapter = new stablearrayadapter(this, r.id.listview1, names); listview.setadapter(adapter); } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.main, menu); return true; } private class stablearrayadapter extends arrayadapter<string> { hashmap<string, integer> midmap = new hashmap<string, integer>(); public stablearrayadapter(context context, int textviewresourceid, list<string> objects) { super(context, textviewresourceid, objects); (int = 0; < objects.size(); ++i) { midmap.put(objects.get(i), i); } } @override public long getitemid(int position) { string item = getitem(position); return midmap.get(item); } @override public boolean hasstableids() { return true; } } }
and here logcat:
05-10 06:37:08.785: d/androidruntime(705): shutting down vm 05-10 06:37:08.785: w/dalvikvm(705): threadid=1: thread exiting uncaught exception (group=0x4001d800) 05-10 06:37:08.807: e/androidruntime(705): fatal exception: main 05-10 06:37:08.807: e/androidruntime(705): android.content.res.resources$notfoundexception: resource id #0x7f080001 type #0x12 not valid 05-10 06:37:08.807: e/androidruntime(705): @ android.content.res.resources.loadxmlresourceparser(resources.java:1874) 05-10 06:37:08.807: e/androidruntime(705): @ android.content.res.resources.getlayout(resources.java:731) 05-10 06:37:08.807: e/androidruntime(705): @ android.view.layoutinflater.inflate(layoutinflater.java:318) 05-10 06:37:08.807: e/androidruntime(705): @ android.widget.arrayadapter.createviewfromresource(arrayadapter.java:332) 05-10 06:37:08.807: e/androidruntime(705): @ android.widget.arrayadapter.getview(arrayadapter.java:323) 05-10 06:37:08.807: e/androidruntime(705): @ android.widget.abslistview.obtainview(abslistview.java:1315) 05-10 06:37:08.807: e/androidruntime(705): @ android.widget.listview.measureheightofchildren(listview.java:1198) 05-10 06:37:08.807: e/androidruntime(705): @ android.widget.listview.onmeasure(listview.java:1109) 05-10 06:37:08.807: e/androidruntime(705): @ android.view.view.measure(view.java:8171) 05-10 06:37:08.807: e/androidruntime(705): @ android.widget.relativelayout.measurechild(relativelayout.java:563) 05-10 06:37:08.807: e/androidruntime(705): @ android.widget.relativelayout.onmeasure(relativelayout.java:378) 05-10 06:37:08.807: e/androidruntime(705): @ android.view.view.measure(view.java:8171) 05-10 06:37:08.807: e/androidruntime(705): @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:3132) 05-10 06:37:08.807: e/androidruntime(705): @ android.widget.framelayout.onmeasure(framelayout.java:245) 05-10 06:37:08.807: e/androidruntime(705): @ android.view.view.measure(view.java:8171) 05-10 06:37:08.807: e/androidruntime(705): @ android.widget.linearlayout.measurevertical(linearlayout.java:526) 05-10 06:37:08.807: e/androidruntime(705): @ android.widget.linearlayout.onmeasure(linearlayout.java:304) 05-10 06:37:08.807: e/androidruntime(705): @ android.view.view.measure(view.java:8171) 05-10 06:37:08.807: e/androidruntime(705): @ android.view.viewgroup.measurechildwithmargins(viewgroup.java:3132) 05-10 06:37:08.807: e/androidruntime(705): @ android.widget.framelayout.onmeasure(framelayout.java:245) 05-10 06:37:08.807: e/androidruntime(705): @ android.view.view.measure(view.java:8171) 05-10 06:37:08.807: e/androidruntime(705): @ android.view.viewroot.performtraversals(viewroot.java:801) 05-10 06:37:08.807: e/androidruntime(705): @ android.view.viewroot.handlemessage(viewroot.java:1727) 05-10 06:37:08.807: e/androidruntime(705): @ android.os.handler.dispatchmessage(handler.java:99) 05-10 06:37:08.807: e/androidruntime(705): @ android.os.looper.loop(looper.java:123) 05-10 06:37:08.807: e/androidruntime(705): @ android.app.activitythread.main(activitythread.java:4627) 05-10 06:37:08.807: e/androidruntime(705): @ java.lang.reflect.method.invokenative(native method) 05-10 06:37:08.807: e/androidruntime(705): @ java.lang.reflect.method.invoke(method.java:521) 05-10 06:37:08.807: e/androidruntime(705): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:868) 05-10 06:37:08.807: e/androidruntime(705): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:626) 05-10 06:37:08.807: e/androidruntime(705): @ dalvik.system.nativestart.main(native method) 05-10 06:37:12.796: i/process(705): sending signal. pid: 705 sig: 9
here's xml:
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/relativelayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" 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" > <listview android:id="@+id/listview1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignparentleft="true" android:layout_below="@+id/button1" android:layout_margintop="41dp" > </listview> <edittext android:id="@+id/edittext2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignbaseline="@+id/edittext1" android:layout_alignbottom="@+id/edittext1" android:layout_marginleft="69dp" android:layout_torightof="@+id/edittext1" android:ems="10" android:hint="number" android:inputtype="phone" /> <edittext android:id="@+id/edittext1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignleft="@+id/listview1" android:layout_alignparenttop="true" android:layout_marginleft="26dp" android:layout_margintop="24dp" android:ems="10" android:hint="name" android:inputtype="textpersonname" > <requestfocus /> </edittext> <button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignleft="@+id/edittext1" android:layout_below="@+id/edittext1" android:layout_marginleft="49dp" android:layout_margintop="21dp" android:text="add" android:textsize="36sp" /> <button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignbaseline="@+id/button1" android:layout_alignbottom="@+id/button1" android:layout_alignleft="@+id/edittext2" android:layout_marginleft="39dp" android:text="delete" android:textsize="36sp" /> </relativelayout>
final stablearrayadapter adapter = new stablearrayadapter(this, r.id.listview1, names);
the arrayadapter extending need second paramter id
of textview
want fill, not listview
id. change in
final stablearrayadapter adapter = new stablearrayadapter(this, android.r.layout.simple_list_item_1, names);
here:
public stablearrayadapter(context context, int textviewresourceid, list<string> objects) { super(context, textviewresourceid, objects); (int = 0; < objects.size(); ++i) { midmap.put(objects.get(i), i); } }
as can see providing super constructor id of listview
. have provide id of textview
Comments
Post a Comment