gpt4 book ai didi

java - 在没有 CustomAdapter 的情况下更改 ListView 特定行的背景颜色

转载 作者:搜寻专家 更新时间:2023-11-01 07:46:23 24 4
gpt4 key购买 nike

我正在尝试更改 ListView 中特定行的背景颜色以匹配我的 List<String> hexcodeList 中的特定颜色,其中包含颜色十六进制代码。但是,我没有为此使用 CustomAdapter,而是覆盖了 getView来自 ArrayAdapter .我希望第一行具有列表中的第一种颜色,第二行具有第二种颜色,依此类推。我是 Java 的新手,我首先想到的是使用 for 语句,所以下面的代码是我尝试过的,但没有成功,因为这会使用 hexcodeList 的最后一种颜色更改所有行的背景颜色。 .

ListView CoresListView = (ListView) findViewById(R.id.ListViewId);  
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, hexcodeList){
@Override
public View getView(int position, View convertView, ViewGroup parent){
View view = super.getView(position,convertView,parent);
for (position = 0; position < hexcodeList.size(); position++) {
view.setBackgroundColor(Color.parseColor(hexcodeList.get(position)));
}
return view;
}
};

CoresListView.setAdapter(adapter);

最佳答案

在创建的每个 View 中,您将遍历列表并设置所有颜色,以便为每个 View 设置最后一种颜色。

去掉循环,只写这个:

view.setBackgroundColor(Color.parseColor(hexcodeList.get(position)));

getView(...) 为每个 View 调用,因此需要一个循环。

关于java - 在没有 CustomAdapter 的情况下更改 ListView 特定行的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43420244/

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