tacos_tacos_tacos
tacos_tacos_tacos

Reputation: 10585

Strange exception in routine ListActivity

I am getting a NullPointerException when trying to set my ListActivity's item view. The full stack trace is at the bottom of this post, but I'm not sure how helpful it is. Here is the line that is causing the issue:

 convertView = mInflater.inflate(R.layout.more_group_list_item, null);

Since the exception is providing little information and I don't know why this line would generate a NullPointerException I do not know where to look to resolve the issue. My only guess is that the layout item cannot be found.

Here is the context:

class MoreJumpListAdapter extends ArrayAdapter<MoreItem> {

    public MoreJumpListAdapter(final Context context) {
        super(context, 0);
    }

    @Override
    public View getView(final int position, View convertView, final ViewGroup parent) {
        MoreJumpActivity.ViewHolder viewHolder;

        if (convertView == null) {
            convertView = mInflater.inflate(R.layout.more_group_list_item, null);
            viewHolder = new MoreJumpActivity.ViewHolder(convertView);
            convertView.setTag(viewHolder);
        } else {
            viewHolder = (MoreJumpActivity.ViewHolder) convertView.getTag();
        }

        viewHolder.populateViews(getItem(position));

        return convertView;
    }

}

and here is the layout xml file contents:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingRight="?android:attr/scrollbarSize"
    android:background="@color/white">
    <ImageView
        android:id="@+id/imageview_displayimage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:padding="5dp" />
    <TextView
        android:id="@+id/tv_displayname"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:layout_centerVertical="true"
        android:paddingLeft="15dp"
        android:layout_toRightOf="@+id/imageview_displayimage" />
</RelativeLayout>

If anyone sees anything helpful in this stack trace I would love to know what it is.

05-17 20:34:22.224: W/dalvikvm(997): threadid=1: thread exiting with uncaught exception (group=0x40015560)
05-17 20:34:22.264: E/AndroidRuntime(997): FATAL EXCEPTION: main
05-17 20:34:22.264: E/AndroidRuntime(997): java.lang.NullPointerException
05-17 20:34:22.264: E/AndroidRuntime(997):  at com.MyApp.MoreJumpActivity$MoreJumpListAdapter.getView(MoreJumpActivity.java:103)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.AbsListView.obtainView(AbsListView.java:1430)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.ListView.makeAndAddView(ListView.java:1745)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.ListView.fillDown(ListView.java:670)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.ListView.fillFromTop(ListView.java:727)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.ListView.layoutChildren(ListView.java:1598)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.AbsListView.onLayout(AbsListView.java:1260)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.View.layout(View.java:7175)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.View.layout(View.java:7175)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.View.layout(View.java:7175)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.View.layout(View.java:7175)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.View.layout(View.java:7175)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.View.layout(View.java:7175)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.View.layout(View.java:7175)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.RelativeLayout.onLayout(RelativeLayout.java:912)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.View.layout(View.java:7175)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.View.layout(View.java:7175)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.View.layout(View.java:7175)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.widget.FrameLayout.onLayout(FrameLayout.java:338)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.View.layout(View.java:7175)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.ViewRoot.performTraversals(ViewRoot.java:1140)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1859)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.os.Looper.loop(Looper.java:123)
05-17 20:34:22.264: E/AndroidRuntime(997):  at android.app.ActivityThread.main(ActivityThread.java:3683)
05-17 20:34:22.264: E/AndroidRuntime(997):  at java.lang.reflect.Method.invokeNative(Native Method)
05-17 20:34:22.264: E/AndroidRuntime(997):  at java.lang.reflect.Method.invoke(Method.java:507)
05-17 20:34:22.264: E/AndroidRuntime(997):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-17 20:34:22.264: E/AndroidRuntime(997):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-17 20:34:22.264: E/AndroidRuntime(997):  at dalvik.system.NativeStart.main(Native Method)

Upvotes: 0

Views: 90

Answers (1)

Dave Newton
Dave Newton

Reputation: 160191

If flow doesn't step into the inflate method, then mInflater must be null, hence the throw.

Upvotes: 1

Related Questions