Ich versuche, eine ListView in einem ViewStub zu erstellen, aber ich bekomme weiterhin eine NullPointerExeption. Meine Schaltflächen funktionieren wie beabsichtigt in ViewStub. Der Code, der wie folgt ausfällt:NullPointerExeption bei Verwendung von ListView in einem ViewStub
else if(v.getId() == R.id.comments_button_series_view){
if(stubUsed == false){
stub = (ViewStub) findViewById(R.id.stub);
View inflatedStub = stub.inflate();
String[] comments = new String[]{"comment1", "comment2"};
commentsAdapter = new ArrayAdapter<String>(this,
R.layout.patient_list_element,
R.id.comments_list_comments_view, comments);
commentsList = (ListView)findViewById(R.id.comments_list_comments_view);
commentsList.setAdapter(commentsAdapter);
Ich denke, es Failes bei commentsList.setAdapter (commentsAdapter).
Diese XML-Datei mit dem Inhalt des ViewStub, die die Listview hält, ist wie folgt:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/comment_stub"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/settings_background" >
<Button
android:id="@+id/comments_button_comment_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_marginRight="10dp"
android:layout_marginTop="62dp"
android:text="Add comment" />
<ListView
android:id="@+id/comments_list_comments_view"
android:layout_width="match_parent"
android:layout_height="470dp"
android:layout_alignLeft="@+id/pin_button_comments_view"
android:layout_below="@+id/comments_button_comment_view" >
</ListView>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/comments_button_comment_view"
android:layout_marginRight="119dp"
android:text="COMMENTS"
android:textAppearance="?android:attr/textAppearanceLarge" />
<Button
android:id="@+id/pin_button_comments_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/comments_button_comment_view"
android:layout_alignBottom="@+id/comments_button_comment_view"
android:layout_marginRight="30dp"
android:layout_toLeftOf="@+id/comments_button_comment_view"
android:text="Add Pin" />
<Button
android:id="@+id/hide_button_comments_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/pin_button_comments_view"
android:layout_alignParentBottom="true"
android:layout_marginBottom="10dp"
android:text="Hide" />
</RelativeLayout>
ich den Code für das Listview getestet haben, ohne einen viewstub zu verwenden, und das funktioniert ganz gut.
Ich denke, ich habe alles? Jede Hilfe wird geschätzt! :)
EDIT:
Danke für die schnelle Antwort!
Der Inhalt wird in der Ansicht angezeigt, in der der ViewStub aufgebläht ist. Aber wie gesagt, es funktioniert gut mit Tasten, aber ich bekomme nicht, warum ich einen Nullpointer mit dem ListView bekomme! :(
Hier ist das Ergebnis aus der LogCat:
04-11 10:37:55.400: W/dalvikvm(971): threadid=1: thread exiting with uncaught exception (group=0x40014760)
04-11 10:37:55.450: E/AndroidRuntime(971): FATAL EXCEPTION: main
04-11 10:37:55.450: E/AndroidRuntime(971): java.lang.NullPointerException
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:396)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:366)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.AbsListView.obtainView(AbsListView.java:1964)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.ListView.makeAndAddView(ListView.java:1756)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.ListView.fillDown(ListView.java:656)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.ListView.fillFromTop(ListView.java:716)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.ListView.layoutChildren(ListView.java:1609)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.AbsListView.onLayout(AbsListView.java:1794)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.View.layout(View.java:9330)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.ViewGroup.layout(ViewGroup.java:3795)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.View.layout(View.java:9330)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.ViewGroup.layout(ViewGroup.java:3795)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.View.layout(View.java:9330)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.ViewGroup.layout(ViewGroup.java:3795)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.FrameLayout.onLayout(FrameLayout.java:400)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.View.layout(View.java:9330)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.ViewGroup.layout(ViewGroup.java:3795)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1542)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1403)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.LinearLayout.onLayout(LinearLayout.java:1314)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.View.layout(View.java:9330)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.ViewGroup.layout(ViewGroup.java:3795)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.widget.FrameLayout.onLayout(FrameLayout.java:400)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.View.layout(View.java:9330)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.ViewGroup.layout(ViewGroup.java:3795)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.ViewRoot.performTraversals(ViewRoot.java:1201)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.view.ViewRoot.handleMessage(ViewRoot.java:1944)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.os.Handler.dispatchMessage(Handler.java:99)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.os.Looper.loop(Looper.java:126)
04-11 10:37:55.450: E/AndroidRuntime(971): at android.app.ActivityThread.main(ActivityThread.java:3997)
04-11 10:37:55.450: E/AndroidRuntime(971): at java.lang.reflect.Method.invokeNative(Native Method)
04-11 10:37:55.450: E/AndroidRuntime(971): at java.lang.reflect.Method.invoke(Method.java:491)
04-11 10:37:55.450: E/AndroidRuntime(971): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
04-11 10:37:55.450: E/AndroidRuntime(971): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
04-11 10:37:55.450: E/AndroidRuntime(971): at dalvik.system.NativeStart.main(Native Method)
Thanks again :)
ah, endlich. Danke! Nahm mich einen Monat! – user1326621