gpt4 book ai didi

android - ListView 显示没有反馈

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

我无意中发现了 ListView 的一个奇怪问题。

在模拟器中,当按下一个项目进行选择时,ListView 不显示任何反馈。我想我已经在真实的事物中看到了这一点,但我不确定。我希望列表项在按下时被选中(较暗的背景),以便用户可以看到他按下的是哪个项目。

我必须编写代码吗?

RG

看到评论后,我尝试了以下方法:

我创建了一个文件 res/color/backgroundstate.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"
android:color="#888"/>
<item android:state_pressed="true"
android:color="#888"/>
<item android:color="#eee"/>
</selector>

然后我在listitem.xml中使用这个作为背景色

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/helptextcolor"
android:background="@color/backgroundstate"
android:padding="10dp"
android:textSize="16sp" >
</TextView>

当我显示 ListView 时

    ArrayAdapter adapter=new ArrayAdapter<String>(this,R.layout.listitem,names);
LV.setAdapter(adapter);
LV.invalidate();

程序崩溃。

与此相关的三个异常(exception)情况。但问题似乎是最后一个 XMLPullParserException:

<item> tag needs a drawable.

现在?

最佳答案

<item>确实需要可绘制对象,而不是颜色。为此,您需要一个颜色可绘制对象,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFF0000" />
</shape>

...然后将其放入您的项目列表中。
此外,这是一个可绘制对象,因此它必须位于 /res/drawable-* 中。目录,不在 /res/color/ 中目录。

总结一下:

  • (可选)将您的颜色放入/res/values/color.xml 文件中并命名
  • 在xml中创建两个shape drawable,在/res/drawable目录下,一个为中性色,一个为按下色,如上图所示
  • 像您一样创建一个可绘制的状态列表,但在/res/drawable 目录中
  • 将其用作列表项的背景

关于android - ListView 显示没有反馈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4233088/

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