这个sudo代码可以吗?
for (all children in my custom expandable list) {
if (childItemText.equals("This string") {
viewWithTextIWant.setBackgroundResource(R.color.blue)
}
}
我无法弄清楚如何编码。如果您需要任何澄清,请与我们联系。
答案 0 :(得分:0)
我用我的应用做了类似的事情。我查看了Android Developer站点上的ExpandableListView小部件。它似乎没有任何get方法可以让您比较ExpandableListView
中项目的字符串值。
您需要做的是创建自己的字符串数组,其中包含您想要的字符串值。然后使用ExpandableListView
的get方法返回所选项的位置,并将其与字符串数组进行比较。
换句话说,get方法将返回值"i"
。使用myStringArray[i].equals("This string")
比较字符串值。
答案 1 :(得分:0)
这似乎是适配器类中的getChildView的任务。
我在ExpandableListView中为组做了同样的事情:
@Override
public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
String groupText = (String) ((Map<String,?>) mGroupData.get(groupPosition)).get(KEY);
View v = groupText.startsWith(SEARCH_TERM) ?
mInflater.inflate(R.layout.layout_1, null) : mInflater.inflate(R.layout.layout_2, null);
TextView tv = (TextView) v.findViewById(R.id.mytext);
tv.setText(groupText);
return v;
}
警告!此代码未经过优化,它会为每个项目充气,这很昂贵。在我的情况下,我并不担心,因为我的ExpandableListView有一些项目