android - 与 RelativeLayout 一起使用时的 ListActivity 问题

标签 android listview listactivity

新手警告,我确定我在这里做了一些愚蠢的事情。

我一直在逐步扩展我的 UI,我想在我的 UI 中间添加一个 ListView。当我添加它并更改 Activity 以扩展 ListActivity 而不仅仅是 Activity 时,我得到了强制关闭。使用 1.5。 ListView 不能嵌入到 RelativeLayout 中吗?

谢谢

public class Categories extends ListActivity{

final static String[] ITEMS = {"blah", "floop", "gnarlp", "stuff"};

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.categories);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                R.layout.listrow, R.id.textview, ITEMS);
        setListAdapter(adapter);

XML 看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/RelativeLayout01" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
 <ImageView 
  android:id="@+id/ImageView01" 
  android:layout_height="fill_parent" android:layout_width="fill_parent" android:scaleType="center" android:background="@drawable/background">
 </ImageView>
 <ImageView android:id="@+id/ImageView02" android:src="@drawable/cat_heading" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_centerHorizontal="true">
  </ImageView>
<ListView android:id="@+id/ListView01" android:layout_below="@id/ImageView02" android:layout_width="wrap_content" android:layout_height="wrap_content"></ListView>
<RelativeLayout android:id="@+id/RelativeLayout02" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignBottom="@+id/RelativeLayout01" android:layout_centerHorizontal="true">
<ImageButton android:id="@+id/ImageButtonRecipes" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:src="@drawable/recipes"></ImageButton>
<ImageButton android:id="@+id/ImageButtonSearch" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_toRightOf="@+id/ImageButtonRecipes" android:src="@drawable/search"></ImageButton>
</RelativeLayout>
</RelativeLayout>

和 listrow.xml:

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

    <TextView android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/textview"/>
</LinearLayout>

最佳答案

ListActivity 必须有一个ID 为“@id/android:list”的ListView,请更改您的ID。它也适用于 RelativeLayout。

参见 Listactivity了解更多信息。

关于android - 与 RelativeLayout 一起使用时的 ListActivity 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2842523/

相关文章:

wpf - 项目属性更改时更新 ListView

java - 为什么我在 RemoteViewsFactory 中收到 IndexOutOfBoundsException?

android - ListActivity:在将数据放入行之前更改来自 SQLite 的数据

安卓蓝牙

java - onCreateView() 方法请求父类(super class)调用

android - 为什么我的动画不会在给定的 to-x 值处停止?

c# - 不断检查 ListView 是否被选中

android - 如何在强制停止应用程序后重新启动服务

android - 如何从 OnClickListener 启动 Intent

java - onClick 在 ListActivity 中使用 SimpleCursorAdapter