gpt4 book ai didi

java - 如何按位置设置 ListView 中特定项目的背景颜色?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:06:39 26 4
gpt4 key购买 nike

我想在 ListView 中设置特定项目的背景颜色。

我的 ListView 是由 ArrayAdapter 使用 ArrayList 生成的。

我计划更改 ListView 中的特定项目的背景颜色。

我知道该项目在列表中的位置。

这是我生成 ListView 的代码。

respondMessageListView = (ListView) findViewById(R.id.respondMessageListView);
respondMessageListView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, autoRespondMessages.getMessages()));

谢谢!

[编辑]

根据 this post ,如果在 onCreate() 中使用,则使用 setSelection 无效,解决方法是“删除 PullToRefreshListView 中的方法 onAttachedToWindow”。我不太了解解决方案。请问我该如何实现呢?我是 Activity 的子类,所以我不能再继承任何其他类。

最佳答案

您必须继承 ArrayAdapter 并覆盖 getView(...)方法。为简单起见,您可以直接调用基类实现并为返回的 View 设置背景颜色。

编辑:以下示例将项目的背景着色为黑白交替。

private class MyAdapter extends ArrayAdapter {

...

public View getView(int position, View convertView, ViewGroup parent) {
View v = super.getView(position, convertView, parent);
v.setBackgroundColor(position % 2 == 0 : 0xff000000, 0xffffffff);
}
}

关于java - 如何按位置设置 ListView 中特定项目的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12576103/

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