如何为ListActivity定义列表?

时间:2011-10-15 21:55:53

标签: java android listactivity

我有一个列表活动,使用的布局不仅仅包含listview。它还有一个按钮和一个旋转器。我收到错误消息,说我需要一个名为'list'的listview小部件。

10-15 23:28:36.131:ERROR / AndroidRuntime(448):java.lang.RuntimeException:无法启动活动ComponentInfo {rams.rss / rams.rss.RamsRSS}:java.lang.RuntimeException:您的内容必须有一个ListView,其id属性为'android.R.id.list'

但是,它已经有一个名为list的listview对象。我从这里使用了一个解决方案:

Why does my Android app keep telling me I need to define a ListView id when it is already defined?

它只会导致另一个错误,其中添加了带有.out后缀的副本。

rams_layout.xml - > rams_layout.out.xml

以下是我正在使用的xml文件的内容:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="match_parent"
      android:layout_height="match_parent">
        <Button android:text="Back" android:layout_width="wrap_content"         android:id="@+id/button1" android:layout_height="wrap_content"         android:layout_alignParentTop="true" android:layout_alignParentLeft="true"></Button>
        <Spinner android:id="@+id/spinner1"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_alignParentTop="true" android:layout_toRightOf="@+id/button1"         android:layout_alignParentRight="true"></Spinner>
        <ListView android:id="@android:id/list" android:layout_width="match_parent"         android:layout_height="wrap_content"         android:layout_below="@+id/spinner1" android:layout_alignParentLeft="true"         android:layout_alignParentBottom="true"></ListView>

    </RelativeLayout>

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:0)

尝试清理项目。在Eclipse中,这是主菜单中的Project | Clean。从命令行,这是ant clean

  

它只会导致另一个错误,其中添加了带有.out后缀的副本。 rams_layout.xml - &gt; rams_layout.out.xml

最有可能的原因是,您尝试在将XML文件作为编辑器中的活动选项卡时运行Android项目。我认为这个问题已修复 - 请确保您使用的是最新版本的ADT插件。

答案 1 :(得分:0)

我注意到的一件事 - 您的ListView的ID以有趣的方式格式化。尝试将其android:id更改为:

<ListView android:id="@+id/list" ...

我有一个具有相同设置的Activity,这就是我引用ListView的方式:

ListView list = (ListView) findViewById(R.id.list);
list.setAdapter(...