How can I make ListView work with ArrayAdapter in android -
How can I make ListView work with ArrayAdapter in android -
i have been stacked hours trying solve problem. explain code structure.
i have 2 classes twitteractivity (the main activity) , searchtwitter. intwitteractivity sign in , start searchtwitter activity. have xml layout files, activity_twitter.xml , search.xml.
the classes like:
public class twitteractivity extends activity { private button msignin; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_twitter); msignin = (button)findviewbyid(r.id.login_id); msignin.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { //startsiginingprocess(...) intent intent = new intent(twitteractivity.this, searchtwitter.class); startactivity(intent); } } }); } the activity_twitter.xml has single button, sign in button. searchtwitter activity looks like:
public class searchtwitter extends listactivity { private button buttonlogout; public void oncreate(bundle savedinstancestate){ super.oncreate(savedinstancestate); setcontentview(r.layout.search); initializecomponent(); initcontrol(); /********************************************************/ arraylist<string> events = new arraylist<string>(); events.add("item1"); events.add("item2"); listview ls = (listview) findviewbyid(r.id.list); ls.setadapter(new arrayadapter<string> (this, r.layout.search, events)); /********************************************************/ } private void initcontrol() { //finish signing procces } private void initializecomponent(){ buttonlogout = (button) findviewbyid(r.id.buttonlogout); buttonlogout.setonclicklistener(new view.onclicklistener(){ @override public void onclick(view v) { //just logout }); } and search.xml is:
<?xml version="1.0" encoding="utf-8"?> <relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#2175b0"> <button android:id="@+id/buttonlogout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentright="true" android:layout_alignparenttop="true" android:text="@string/logout" /> <listview android:id = "@android:id/list" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/buttonlogout" /> <textview android:id="@android:id/text1" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </relativelayout> what problem now
in searchtwitter activity did extend listactivity
all want create code surrounded stars in searchtwitter work. have tried lots of ways, no result. app crashed.
i sense exhausted, don't know anymore. sense free inquire question. kind of help, suggestion highly appreciated. thanks.
ps: code surrounded stars wrong.
edit
in case listview ls = (listview) findviewbyid(r.layout.search); get:
06-22 04:14:39.648: e/androidruntime(1861): fatal exception: main 06-22 04:14:39.648: e/androidruntime(1861): process: com.bledi.android.twittertest, pid: 1861 06-22 04:14:39.648: e/androidruntime(1861): java.lang.runtimeexception: unable start activity componentinfo{com.bledi.android.twittertest/com.bledi.android.twittertest.searchtwitter}: java.lang.nullpointerexception 06-22 04:14:39.648: e/androidruntime(1861): @ android.app.activitythread.performlaunchactivity(activitythread.java:2195) 06-22 04:14:39.648: e/androidruntime(1861): @ android.app.activitythread.handlelaunchactivity(activitythread.java:2245) 06-22 04:14:39.648: e/androidruntime(1861): @ android.app.activitythread.access$800(activitythread.java:135) 06-22 04:14:39.648: e/androidruntime(1861): @ android.app.activitythread$h.handlemessage(activitythread.java:1196) 06-22 04:14:39.648: e/androidruntime(1861): @ android.os.handler.dispatchmessage(handler.java:102) 06-22 04:14:39.648: e/androidruntime(1861): @ android.os.looper.loop(looper.java:136) 06-22 04:14:39.648: e/androidruntime(1861): @ android.app.activitythread.main(activitythread.java:5017) 06-22 04:14:39.648: e/androidruntime(1861): @ java.lang.reflect.method.invokenative(native method) 06-22 04:14:39.648: e/androidruntime(1861): @ java.lang.reflect.method.invoke(method.java:515) 06-22 04:14:39.648: e/androidruntime(1861): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779) 06-22 04:14:39.648: e/androidruntime(1861): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:595) 06-22 04:14:39.648: e/androidruntime(1861): @ dalvik.system.nativestart.main(native method) 06-22 04:14:39.648: e/androidruntime(1861): caused by: java.lang.nullpointerexception 06-22 04:14:39.648: e/androidruntime(1861): @ com.bledi.android.twittertest.searchtwitter.oncreate(searchtwitter.java:38) 06-22 04:14:39.648: e/androidruntime(1861): @ android.app.activity.performcreate(activity.java:5231) 06-22 04:14:39.648: e/androidruntime(1861): @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1087) 06-22 04:14:39.648: e/androidruntime(1861): @ android.app.activitythread.performlaunchactivity(activitythread.java:2159) edit 2
i changed listview ls = (listview) findviewbyid(r.id.list); listview ls = (listview) findviewbyid(android.r.id.list); , ls.setadapter(new arrayadapter<string> (this, r.layout.search, events)); ls.setadapter(new arrayadapter<string> (this, r.layout.search, android.r.id.text1 , events)); , somehow non-crash app behavior weird.
there no need define listview 1 time again in activity when activity extends listactivity. hence remove line
listview ls = (listview) findviewbyid(r.id.list); and seek change
ls.setadapter(new arrayadapter<string> (this, r.layout.search, events)); to
setlistadapter(new arrayadapter<string> (this, android.r.layout.simple_list_item_1 ,events)); where simple_list_item_1 android internal layout view
android listview android-arrayadapter
Comments
Post a Comment