我想根据其内容格式化 ListView
条目。我想在我的 ListView
中找到包含文本“No”的任何元素,并对元素执行以下操作:
- 将文本居中
- 将此元素的背景设置为颜色,例如#000000
我该如何去做呢?你能使用类似下面的东西吗?
if((String) parent.getAdapter().getItem(something)==("No")) {Do something};
最佳答案
既然您提到使用 ArrayAdapter
,您应该扩展 ArrayAdapter
类并重写 getView
方法,以按您想要的方式有条件地返回 View 将它们格式化。因此,为了格式化专门包含文本“否”的 View ,请执行类似于以下操作的操作:
View v = super.getView(position, convertView, parent);
TextView t = (TextView)v.findViewById(R.id.id_of_your_text_view);
if (t.getText().toString().equals("No")) {
// center the text and set bg color
}
return v;
此外,以防万一您的 TextView 的 id 将来会发生变化,您可以重写构造函数以将 TextView
的 id 保存在字段中,并使用它来代替硬编码。 -编码ID。
关于java - 按内容格式化 ListView 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24195540/