我想使用listview来显示我的应用程序中发送的项目,但是当我运行它时,我的应用程序崩溃,我在我的logcat上得到以下消息" java.lang.RuntimeException:你的内容必须有一个ListView,其id属性为' android.R.id.list'"。 我已经在这个论坛上搜索了解决方案,我已经有了一个想要的id列表视图,但是错误仍然会弹出。我哪里错了?请帮忙。
这是我的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>
答案 0 :(得分:0)
更改
<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"
/>
和这个
listView =(ListView) findViewById(android.R.id.list);
用这个
listView =(ListView) findViewById(R.id.list);