Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7948893
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 4, 20262026-06-04T01:51:11+00:00 2026-06-04T01:51:11+00:00

I have some problems with my custom adapter for a ListView . I’m unsure

  • 0

I have some problems with my custom adapter for a ListView. I’m unsure if my problems lies with the xml files, with the data or with the instantiation of the ListView. I’m getting a NullPointerException when I set the adapter. The adapter class:

public class InboxAdapter extends BaseAdapter {

    private Context context;

    private List<MailInbox> mails;

    public InboxAdapter(Context context, List<MailInbox> mails)
    {
        this.context = context;
        this.mails = mails;
    }

    @Override
    public int getCount() {
        return mails.size();
    }

    @Override
    public Object getItem(int item) {
        return mails.get(item);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup viewGroup) {

        MailInbox entry = mails.get(position);

        if(convertView == null)
        {
            LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(R.layout.mail_list_row, null);
        }

        ImageView mailImg = (ImageView)convertView.findViewById(R.id.mail_thumb);
        boolean read = entry.IsRead;

        if(read)
        {
            //Set "read" image
            mailImg.setImageResource(R.drawable.message);
        } else
        {
            //Set "unread" image
            mailImg.setImageResource(R.drawable.message);
        }

        TextView author = (TextView)convertView.findViewById(R.id.mail_text);
        TextView body = (TextView)convertView.findViewById(R.id.mail_detail);
        TextView date = (TextView)convertView.findViewById(R.id.mail_date);

        author.setText(entry.AuthorName);
        body.setText(entry.MessageBody);
        date.setText(entry.CreatedAt);

        return convertView;
    }
}

The Activity where I use it:

public class InboxActivity extends SherlockActivity 
{
    private ListView list;
    private GetMessagesConnection mMessages;

    public String kidID;

    public InboxActivity() {
        // TODO Auto-generated constructor stub
    }

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.inbox_layout);        

        Bundle extras = getIntent().getExtras();
        if(extras != null)
        {
            kidID = extras.getString("kidID");
        }

        new GetMails().execute();
    }

    private void setUpList()
    {
        list = (ListView)findViewById(R.id.mail_list);      

        ArrayList<MailInbox> mails = new ArrayList<MailInbox>();

        for(int i = 0; i < mMessages.myMail.size(); i++)
        {
            MailInbox inbox = new MailInbox();

            inbox.AuthorName = mMessages.myMail.get(i).AuthorName;
            inbox.CreatedAt = mMessages.myMail.get(i).CreatedAt;
            inbox.MessageBody = mMessages.myMail.get(i).MessageBody;
            inbox.IsRead = mMessages.myMail.get(i).IsRead;

            System.out.println("Author: " + inbox.AuthorName);
            System.out.println("Time: " + inbox.CreatedAt);
            System.out.println("Message: " + inbox.MessageBody);
            System.out.println("Read: " + inbox.IsRead);

            mails.add(inbox);
        }

        int length = mails.size();
        System.out.println("Size: " + length);

        InboxAdapter adapter = new InboxAdapter(this, mails);

        // It crashes here with a Nullpointer Exception
        list.setAdapter(adapter);
    }

    private class GetMails extends AsyncTask<Void, Void, Void> implements DialogInterface.OnCancelListener
    {
        private ProgressDialog dialog;

        protected void onPreExecute()
        {
                dialog = ProgressDialog.show(InboxActivity.this, "", "Henter beskeder...", true);
        }

        protected Void doInBackground(Void... unused)
        {
                mMessages = new GetMessagesConnection();

                mMessages.kidID = kidID;

                mMessages.connection();

                return null;
        }

        protected void onPostExecute(Void unused)
        {           
            dialog.dismiss();
            setUpList();
        }

        public void onCancel(DialogInterface dialog)
        {
            cancel(true);
            dialog.dismiss();
        }
    }
}

*mail_list*:

<?xml version="1.0" encoding="utf-8"?>
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/mail_list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="2" >    
</ListView>

*mail_list_row*:

<?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="48dip"
    android:background="@drawable/listselector"
    >
    <ImageView
        android:id="@+id/mail_thumb"
        android:layout_width="30dip"
        android:layout_height="30dip"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:contentDescription="@string/imgdesc"
        />
    <TextView
        android:id="@+id/mail_text"
        android:layout_toRightOf="@+id/mail_thumb"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="14dip"
        android:layout_marginLeft="8dip"
        android:layout_centerVertical="false"
        android:singleLine="true"
        android:ellipsize="end"
        android:textStyle="bold"
        android:textColor="@android:color/white"
        />
    <TextView 
        android:id="@+id/mail_detail"
        android:layout_toRightOf="@+id/mail_thumb"
        android:layout_below="@+id/mail_text"
        android:layout_width="100dip"
        android:layout_height="wrap_content"
        android:textSize="12dip"
        android:layout_marginLeft="8dip"
        android:layout_centerVertical="false"
        android:singleLine="true"
        android:ellipsize="end"
        android:textColor="@color/grey"     
        />
    <TextView 
        android:id="@+id/mail_date"
        android:layout_toRightOf="@+id/mail_detail"
        android:layout_below="@+id/mail_text"
        android:layout_width="100dip"
        android:layout_height="wrap_content"
        android:textSize="12dip"
        android:singleLine="true"
        android:ellipsize="end"
        android:textColor="@color/grey"
        android:layout_alignParentRight="true"      
        />
</RelativeLayout>

I don’t know what could be null. I’ve been trying to solve this for several hours.
Error log:

05-14 19:55:45.525: E/AndroidRuntime(2509): FATAL EXCEPTION: main
05-14 19:55:45.525: E/AndroidRuntime(2509): java.lang.NullPointerException
05-14 19:55:45.525: E/AndroidRuntime(2509):     at com.cim.daycare.InboxActivity.setUpList(InboxActivity.java:75)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at com.cim.daycare.InboxActivity.access$2(InboxActivity.java:36)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at com.cim.daycare.InboxActivity$GetMails.onPostExecute(InboxActivity.java:101)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at com.cim.daycare.InboxActivity$GetMails.onPostExecute(InboxActivity.java:1)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at android.os.AsyncTask.finish(AsyncTask.java:417)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at android.os.AsyncTask.access$300(AsyncTask.java:127)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at android.os.Looper.loop(Looper.java:123)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at android.app.ActivityThread.main(ActivityThread.java:3683)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at java.lang.reflect.Method.invokeNative(Native Method)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at java.lang.reflect.Method.invoke(Method.java:507)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-14 19:55:45.525: E/AndroidRuntime(2509):     at dalvik.system.NativeStart.main(Native Method)
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-04T01:51:12+00:00Added an answer on June 4, 2026 at 1:51 am

    In the activity InboxActivity you set the content view to R.layout.inbox_layout(I don’t see this file in your question) and you search for the ListView with the id R.id.mail_list. A ListView with this id exist in the mail_list.xml file. Are you sure that the content view for the InboxActivity isn’t R.layout.mail_list:

    //...
    public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.mail_list);        
            Bundle extras = getIntent().getExtras();
    //...
    

    Also:

    • Please don’t declare a constructor for the InboxActivity, initialize what you want in the onCreate method(this is how things work in the android world).

    • Do you handle the cases when extras is null? (If the extras is null then kidID will also be null and this could put you in trouble in the GetMessagesConnection class if you don’t handle this scenario).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have some problems getting the custom formated JSON data into a dijit.form.FilteringSelect. It
I have created a custom Cursor Adapter for my list.The list gets some data
Begining with JSP and servlet development, I have some problems with a bodyless custom
I’m having some problems with validation. I have created a custom validator called RequiredFieldRule
I have some problems with OpenCV s cvCanny(...) and the Image data types it
I have some problems combining a custom marker icon with my infoWindow. Here is
I have a listview with custom array adapter, the view allows the user to
I have some problems displaying data in JTable. My app is using a JTable
Currently, I have a custom list adapter that has some logic that hide/show a
Hi, I have some problems with an implementations off custom submit buttons. pleas take

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.