gpt4 book ai didi

android - listview 每个项目动态改变背景颜色

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

我有比改变背景颜色更具体的案例。

我有 1 个 ListView ,在每个 ListView 项中我有 2 个 TextView 。我在这些 ListView 项目 TextView 中显示的所有信息都来自服务器。

我得到的一个参数是颜色代码(例如#138F6A)。现在,我需要使用这个颜色代码(我在 textview 中作为一个值插入)并根据我从服务器获得的颜色代码值更改这个 ListView 项目特定的 textview 背景颜色。

我该怎么做?如何将 colorView textview 背景设置为从服务器获取的此 ListView 项的颜色?

    public void OnCreateActivity() {    
...
ArrayList<HashMap<String, String>> menuItems = new ArrayList<HashMap<String, String>>();
XMLParser objektinimi_parser = new XMLParser();
...
// looping through all item nodes <item>
for (int i = 0; i < ndlist.getLength(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
Element myelem = (Element) ndlist.item(i);
String bronID = objektinimi_parser.getValue(myelem, "BRON_ID");
String color= objektinimi_parser.getValue(myelem, "COLOR");

map.put(BRON_ID, bronID);
map.put(COLOR, color);
menuItems.add(map);
}

ListAdapter adapter = new SimpleAdapter (this, menuItems,
R.layout.kirjed,
new String[] { BRON_ID, COLOR },
new int[] { R.id.bronid, R.id.colorView });
setListAdapter(adapter);
ListView lv = getListView();

谢谢!

最佳答案

您可以扩展适配器并在 getView 方法中设置背景颜色:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
view.setBackgroundColor(theColour);
return view;
}

如果您不需要按下状态等,这会很好地工作。

如果这样做,则需要使用 ColorStateListsetBackgroundResource,请参阅:http://developer.android.com/reference/android/content/res/ColorStateList.html

关于android - listview 每个项目动态改变背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26702307/

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