gpt4 book ai didi

java - 如何在 SeparatedListAdapter 中设置文本颜色?

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

我正在使用 Jeff Sharkey's SeparatedListAdapter我想设置文本颜色,但我不确定如何设置。

为了让您了解他的适配器的一些背景知识,他将一个类似于简单 Android 列表的 BaseAdapter 子类化。因此,我尝试像这样在 getView() 方法中设置文本颜色(您可以在注释部分之间看到我的尝试):

@Override
public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder;

int sectionnum = 0;
for(Object section : this.sections.keySet()) {
Adapter adapter = sections.get(section);
int size = adapter.getCount() + 1;



// check if position inside this section
if(position == 0) return headers.getView(sectionnum, convertView, parent);
if(position < size)
{
/***** I added this section to try to set the text color ***/

TextView captionTV = (TextView)adapter.getView(position, convertView, parent).findViewById(R.id.list_complex_caption);
captionTV.setTextColor(R.color.black;);

TextView titleTV = (TextView)adapter.getView(position, convertView, parent).findViewById(R.id.list_complex_title);
titleTV.setTextColor(R.color.black;);

/***** end add *****/

return adapter.getView(position - 1, convertView, parent);
}

// otherwise jump into next section
position -= size;
sectionnum++;
}
return null;
}

但实际情况是它为第一个单元格设置了文本颜色,但没有为其余单元格设置。

有什么想法吗?

最佳答案

嗯。漂亮的适配器。

这里要注意的第一件事 - 以您正在做的方式修改 View 最好留给您在各个部分适配器中使用的布局,即如果您想要黑色文本,请使用具有黑色文本的项目布局。

无论如何,要在代码中执行此操作,您不应该在子部分适配器上重复调用 #getView(int, View, ViewGroup),而是这样做:

/**
* {@inheritDoc}
*/
public View getView(int position, View convertView, ViewGroup parent) {
int sectionnum = 0;
for(Object section : this.sections.keySet()) {
Adapter adapter = sections.get(section);
int size = adapter.getCount() + 1;

// check if position inside this section
if(position == 0) return headers.getView(sectionnum, convertView, parent);
if(position < size){
View view = adapter.getView(position - 1, convertView, parent);
TextView captionTV = (TextView) view.findViewById(R.id.list_complex_caption);
captionTV.setTextColor(R.color.black);
TextView titleTV = (TextView) view.findViewById(R.id.list_complex_title);
titleTV.setTextColor(R.color.black);
return view;
}

// otherwise jump into next section
position -= size;
sectionnum++;
}
return null;
}

关于java - 如何在 SeparatedListAdapter 中设置文本颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8685284/

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