-1

i want to use a listview to display sent items in my application, but when i am running it, my application crushes and i get the following message on my logcat "java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'". i have searched for solutions on this forum and i already have a listview with the id wanted as you will see, but the error still pops up. where am i going wrong? please help.

here is my DisplaySentItemsActivity:

package zw.ac.msu.kuda.e_servives;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ListView;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class DisplaySentItemsActivity extends AppCompatActivity {
String json_sentitems;
JSONObject jsonObject;
JSONArray jsonArray;
SentItemsAdapter sentItemsAdapter;
ListView listView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_display_sent_items);
    listView =(ListView) findViewById(android.R.id.list);
    listView.setAdapter(sentItemsAdapter);
    sentItemsAdapter=new SentItemsAdapter(this,R.layout.fragment_sentitems);                           
    json_sentitems=getIntent().getExtras().getString("json_data");
    try {

        jsonObject=new JSONObject(json_sentitems);
        jsonArray=jsonObject.getJSONArray("server_response");
        int count=0;
        int id;
        String email, dateSent, subject, body, attachments;
        while(count<jsonArray.length()) {
            JSONObject finalObject = jsonArray.getJSONObject(0);
            id = finalObject.getInt("id");
            email = finalObject.getString("email");
            dateSent = finalObject.getString("dateSent");
            subject = finalObject.getString("subject");
            body = finalObject.getString("body");
            attachments = finalObject.getString("attachments");
            SentItems sentItems=new  SentItems(subject,dateSent,body,attachments,id);
            sentItemsAdapter.add(sentItems);
            count++;
        }

    } catch (JSONException e) {
        e.printStackTrace();
    }

}

}

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"

tools:context="zw.ac.msu.kuda.e_servives.DisplaySentItemsActivity">
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

</RelativeLayout>

1 Answers1

0

Change

<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
with this
<ListView
android:id="@+id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>

and this

listView =(ListView) findViewById(android.R.id.list);

with this

listView =(ListView) findViewById(R.id.list);
Piyush
  • 18,895
  • 5
  • 32
  • 63
Khizar Hayat
  • 3,427
  • 3
  • 18
  • 22