资源$NotFoundException for android.R.layout.simple\u list\u item\u 1
我正在读阿诺·贝克尔和马库斯·潘特写的《机器人2》。在这本书的过程中,他们开发了一个带有阅读器的小型android应用程序。 有一次我遇到了一个无法解决的错误。 我有一个ListActivity,它应该填充静态数据。每当我启动活动时,我都会收到一个异常Resources$NotFoundException,其文本为:“File res/layout/simple_list_item_1.xml from xml type layout resource ID” 以下是调用活动的代码:资源$NotFoundException for android.R.layout.simple\u list\u item\u 1,android,android-layout,Android,Android Layout,我正在读阿诺·贝克尔和马库斯·潘特写的《机器人2》。在这本书的过程中,他们开发了一个带有阅读器的小型android应用程序。 有一次我遇到了一个无法解决的错误。 我有一个ListActivity,它应该填充静态数据。每当我启动活动时,我都会收到一个异常Resources$NotFoundException,其文本为:“File res/layout/simple_list_item_1.xml from xml type layout resource ID” 以下是调用活动的代码: publi
public void onClickManageContacts(View view)
{
final Intent intent=new Intent(this,ListContacts.class);
startActivity(intent);
}
package androidbook.amando.gui;
import androidbook.amando.R;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
public class ListContacts extends ListActivity {
private static final String[] NAMES = new String[] { "Berthold Schmitz",
"Chantal Schulze", "Bartolomäus Weissenbaum", "Jean-Paul Küppers" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.geokontakte_auflisten);
showContacts();
}
private void showContacts() {
final ArrayAdapter<String> contactAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_list_item_1, NAMES);
setListAdapter(contactAdapter);
}
}
以下是活动的代码:
public void onClickManageContacts(View view)
{
final Intent intent=new Intent(this,ListContacts.class);
startActivity(intent);
}
package androidbook.amando.gui;
import androidbook.amando.R;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
public class ListContacts extends ListActivity {
private static final String[] NAMES = new String[] { "Berthold Schmitz",
"Chantal Schulze", "Bartolomäus Weissenbaum", "Jean-Paul Küppers" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.geokontakte_auflisten);
showContacts();
}
private void showContacts() {
final ArrayAdapter<String> contactAdapter = new ArrayAdapter<String>(
this, android.R.layout.simple_list_item_1, NAMES);
setListAdapter(contactAdapter);
}
}
编辑2:
感谢@DArkO的快速回答。我更改了res/layout/geokontakte_auflisten.xml,但得到了完全相同的错误
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Spinner
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:id="@+id/sp_sortierung"
android:layout_width="wrap_content"
android:entries="@array/Sortierung">
</Spinner>
<ListView
android:layout_height="wrap_content"
android:id="@android:id/list"
android:layout_width="wrap_content"
android:textFilterEnabled="true"
android:cacheColorHint="@color/hintergrund">
</ListView>
<TextView
android:id="@android:id/empty"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/txt_geokontakt_auflisten_keineDaten">
</TextView>
</LinearLayout>
我使用的是API版本10和android 2.3.3仿真器。列表活动只能支持列表id为:
android:id="@android:id/list"
只需在此处替换该项:
<ListView
android:layout_height="wrap_content"
android:id="@+id/android:list"
android:layout_width="wrap_content"
android:textFilterEnabled="true"
android:cacheColorHint="@color/hintergrund">
看到这个:不,没有。listActivity需要一个列表的android资源。为了支持@DArkO的说法,“……您自己的视图必须包含一个id为“@android:id/list”(或者列表,如果是代码)…”——@Henizi:-您有解决方案吗?我在同一个api版本和同一个模拟器上遇到同样的问题。
<ListView
android:layout_height="wrap_content"
android:id="@+id/android:list"
android:layout_width="wrap_content"
android:textFilterEnabled="true"
android:cacheColorHint="@color/hintergrund">