[Mono-bugs] [Bug 644304] New: When using an ArrayAdapter on a ListView with custom list items loaded from an xml layout, i get a java null reference error.

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Oct 6 15:17:46 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=644304

https://bugzilla.novell.com/show_bug.cgi?id=644304#c0


           Summary: When using an ArrayAdapter on a ListView with custom
                    list items loaded from an xml layout, i get a java
                    null reference error.
    Classification: Mono
           Product: MonoDroid
           Version: unspecified
          Platform: 64bit
        OS/Version: Windows 7
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: Runtime
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: bryancostanich at hotmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: Customer
           Blocker: Yes


Created an attachment (id=393396)
 --> (http://bugzilla.novell.com/attachment.cgi?id=393396)
repro project

Description of Problem:


Steps to reproduce the problem:
1. Create new monodroid project
2. add a new list item xml template in resources/layout, mark as android
resource, such as:
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="50px">
  <TextView id="@+id/listItem" android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
</LinearLayout>
3. add a listview to the main layout:
  <ListView android:id="@+id/lstItems" android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
4. in your corresponding activity, wire up the list view to use the custom
item:
            ListView lstItems = FindViewById<ListView>(Resource.id.lstItems);
            if (lstItems != null)
            {
                List<string> items = new List<string>();
                items.Add("Coke");
                items.Add("Whores");
                items.Add("Debauchery");

                ArrayAdapter<string> itemsAdapter = new
ArrayAdapter<string>(this, Resource.layout.common_list_item,
Resource.id.listItem, items);
                //ArrayAdapter<string> itemsAdapter = new
ArrayAdapter<string>(this, Android.R.Layout.SimpleListItem1, items);
                lstItems.Adapter = itemsAdapter;
            }
5. run


Actual Results:
E/AndroidRuntime( 1414): FATAL EXCEPTION: main
E/AndroidRuntime( 1414): java.lang.NullPointerException
E/AndroidRuntime( 1414):        at
android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:353)
E/AndroidRuntime( 1414):        at
android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
E/AndroidRuntime( 1414):        at
android.widget.AbsListView.obtainView(AbsListView.java:1315)
E/AndroidRuntime( 1414):        at
android.widget.ListView.makeAndAddView(ListView.java:1727)
E/AndroidRuntime( 1414):        at
android.widget.ListView.fillDown(ListView.java:652)
E/AndroidRuntime( 1414):        at
android.widget.ListView.fillFromTop(ListView.java:709)
E/AndroidRuntime( 1414):        at
android.widget.ListView.layoutChildren(ListView.java:1580)
E/AndroidRuntime( 1414):        at
android.widget.AbsListView.onLayout(AbsListView.java:1147)
E/AndroidRuntime( 1414):        at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 1414):        at
android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249)
E/AndroidRuntime( 1414):        at
android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125)
E/AndroidRuntime( 1414):        at
android.widget.LinearLayout.onLayout(LinearLayout.java:1042)
E/AndroidRuntime( 1414):        at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 1414):        at
android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime( 1414):        at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 1414):        at
android.widget.LinearLayout.setChildFrame(LinearLayout.java:1249)
E/AndroidRuntime( 1414):        at
android.widget.LinearLayout.layoutVertical(LinearLayout.java:1125)
E/AndroidRuntime( 1414):        at
android.widget.LinearLayout.onLayout(LinearLayout.java:1042)
E/AndroidRuntime( 1414):        at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 1414):        at
android.widget.FrameLayout.onLayout(FrameLayout.java:333)
E/AndroidRuntime( 1414):        at android.view.View.layout(View.java:7035)
E/AndroidRuntime( 1414):        at
android.view.ViewRoot.performTraversals(ViewRoot.java:1045)
E/AndroidRuntime( 1414):        at
android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
E/AndroidRuntime( 1414):        at
android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 1414):        at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 1414):        at
android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime( 1414):        at java.lang.reflect.Method.invokeNative(Native
Method)
E/AndroidRuntime( 1414):        at
java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 1414):        at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime( 1414):        at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime( 1414):        at dalvik.system.NativeStart.main(Native
Method)

Expected Results:
the list view should build out just fine using the custom list item drawable

How often does this happen? 
everytime

Additional Information:

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list