gpt4 book ai didi

android - Android 中具有交替资源的 ListView

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

我有一个 ListView 和一个适配器,它们为列表项设置交替背景色,覆盖我的适配器中的 getView 方法。

我想更进一步,我想为每一行设置一个资源背景。我尝试在 getView 中调用方法 setBackgroundResource:

private int[] messages = new int[] {R.layout.message,R.layout.message2};
//...
public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
int MessagePos = position % messages.length;
v.setBackgroundResource(messages[MessagePos]);
return v;}

但这不起作用,我异常抛出的消息是来自可绘制资源 ID #0x7f030004 的文件 res/layout/message.xml

有什么想法吗?

谢谢!

最佳答案

您不能将布局 文件设置为背景资源。背景资源用于图像文件。您想要的是根据位置扩充不同的布局文件,或者像这样设置背景颜色:

int colors = {0xFFFF0000, 0xFF0000FF};
v.setBackgroundColor(colors[MessagePos]};

列出的两种颜色是亮红色和亮蓝色。如果您不熟悉这些颜色的定义方式,请查找 HTML 颜色代码。

展开不同的布局文件并不难,但需要更多的代码。基本上归结为从上下文中获取 LayoutInflater,然后调用 inflater.inflate(context.getResources(), R.layout. .....);。如果您通过 Google 搜索,可以找到很多很好的教程。

关于android - Android 中具有交替资源的 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2801599/

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