ListActivity上的Listview在setListAdapter上抛出ResourceNotFound异常

时间:2013-09-10 14:35:44

标签: android listview listactivity

不知道我是否已经太累了不能再推理了,但是我有一个恼人的问题,ListActivity没有找到它的ListView资源。很烦人,因为我在同一个应用程序中的其他两个活动中以相同的方式实现了它。

非常基本......

布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/backrepeat"
    android:tileMode="repeat"
    android:orientation="vertical">
    <ListView android:id="@android:id/list"
              android:layout_width="match_parent"
              android:layout_height="match_parent"/>
</LinearLayout>

活动:

setListAdapter(new ArrayAdapter<String>(this, android.R.id.list, fileList ));   

我在这里搜索过,发现其他帖子有明显的错误......任何想法?

获取资源未找到异常

09-10 14:25:40.366: E/AndroidRuntime(2392):     android.content.res.Resources$NotFoundException: File  from xml type layout resource ID #0x102000a

谢谢!

2 个答案:

答案 0 :(得分:2)

更改为

setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, fileList )); 

查看ArrayAdapter的构造函数。使用适合你的那个

http://developer.android.com/reference/android/widget/ArrayAdapter.html

示例:

String[] GENRES = new String[] {
        "Action", "Adventure", "Animation", "Children", "Comedy",
    "Documentary", "Drama",
        "Foreign", "History", "Independent", "Romance", "Sci-Fi",
    "Television", "Thriller"
    };
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, GENRES));

GENRES是字符串数组。 android.R.layout.simple_list_item_1是列表的布局。 this指的是活动背景。

Android会查找提到id的资源。如果找不到,则会收到ResourceNotFoundException

答案 1 :(得分:1)

你应该改变这个:

setListAdapter(new ArrayAdapter<String>(YourActivity.this, android.R.layout.simple_list_item_1,android.R.id.list, fileList ));