gpt4 book ai didi

java - Android:强制使用ListView

转载 作者:行者123 更新时间:2023-11-29 03:53:24 25 4
gpt4 key购买 nike

我想制作一个菜单,其中包含 4 个不同的 LinearLayouts。第一个有标题,第二个有描述,第三个有 3 个 ImageView,它们有事件 onClick,第四个有一个 Button,也有 onClick 事件。

不知何故,android不喜欢它,并强制我使用ListView。

异常信息是:java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'

我已经尝试过使用 ListView,但它并没有像我预期的那样工作。例如,第三个布局,它有 3 个按钮,事件不是为每个 ImageView 工作,而是在 ListView 的行上。

可以做什么?

显示我的布局 xml 文件:

options.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/optionsLayout"
android:background="@drawable/bg" android:layout_gravity="center">

<include layout="@layout/options_layout1" android:id="@+id/optionsLayout1" />
<include layout="@layout/options_layout2" android:id="@+id/optionsLayout2" />
<include layout="@layout/options_layout3" android:id="@+id/optionsLayout3" />
<include layout="@layout/options_layout4" android:id="@+id/optionsLayout4" />

</LinearLayout>

options_layout1.xml

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/optionsTitleLayout"
android:background="@drawable/options"
android:layout_gravity="center" />

options_layout2.xml

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/chooseThemeTitleLayout"
android:background="@drawable/choose_theme" android:layout_gravity="center"
android:layout_marginTop="70dip" />

options_layout3.xml

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/optionButtonsLayout"
android:layout_gravity="center" android:layout_marginTop="10dip" >
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/theme1Btn"
android:background="@drawable/theme1_off" android:layout_marginLeft="10dip"
android:layout_marginRight="10dip" />
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_centerInParent="true"
android:id="@+id/theme2Btn" android:background="@drawable/theme2_off"
android:layout_marginLeft="10dip" android:layout_marginRight="10dip" />
<ImageView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_toRightOf="@id/theme2Btn"
android:id="@+id/theme3Btn" android:background="@drawable/theme3_off"
android:layout_marginLeft="10dip" android:layout_marginRight="10dip"/>
</LinearLayout>

options_layout4.xml

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:id="@+id/saveButtonLayout"
android:layout_gravity="center" >
<Button android:id="@+id/saveBtn" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_centerHorizontal="true"
android:text="Save" android:layout_marginTop="10dip"/>
</LinearLayout>

谢谢,亨利。

最佳答案

问题不在于 xml,问题在于代码中的某处。您使用一个特定的类,该类期望 ID R.id.list 出现在您的布局中。可能你的 Activity 仍然扩展了 ListActivity?此 Activity 在其布局中需要一个 R.id.list。

关于java - Android:强制使用ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7696511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com