首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android SimpleAdapter更改元素样式

Android SimpleAdapter更改元素样式
EN

Stack Overflow用户
提问于 2010-11-23 01:01:29
回答 1查看 1.6K关注 0票数 0

我得到了一个元素列表,其中包含一个获取要显示的元素列表的SimpleAdapter。对象列表中的元素(我传递给SimpleAdapter的元素)有一个字段,我想用它来区分要显示的元素(元素是TextView)的样式,但是我不知道怎么做。

提前感谢

Jaxer

EN

回答 1

Stack Overflow用户

发布于 2010-11-23 01:20:39

您需要子类化Adapter (或其子类型之一),并在getView方法中执行类似的操作:

代码语言:javascript
复制
TextView row;
// Recycle an already-inflated view if possible
if (convertView == null) {
     row = (TextView) View.inflate(android.R.layout.simple_list_item_1, getContext());
} else {
    row = (TextView) convertView;
}
SomeModel myItem = getItem(pos);
if (getItem(pos).displayFunky()) { //or whatever object condition you want to check
    row.setTextColor(Color.RED)
} else {
    row.setTextColor(Color.GREEN)
}

row.setText(myItem.getDisplayText());

return row;

您也可以有一个具有多个View类型的自定义Adapter,但这是一个足够简单的情况,我可能不会费心去做。另请参阅this SO post。您还应该查看适配器的示例代码(例如,这里是one from NPR )和一个更复杂的多视图适配器tutorial。你也应该看看在Google /O 20092010上无与伦比的Romain Guy在ListViews上的演讲--他们将为你节省几个小时的心痛、困惑、痛苦和性能调整。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4248004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档