也许已经说过很多次了,我很抱歉,但是搜索所有的网页都无法帮助我找到解决方案。 我必须从String数组中创建一个ListView,但我希望每行的文本颜色都在变化,例如,如果字符串包含“黄色”字,则文本的颜色将为黄色。 我该如何设置这样的东西?
答案 0 :(得分:1)
创建一个HashMap,其中键为颜色词,值为整数。
示例代码:
HashMap<String, Integer> colorCode = new HashMap<String, Integer>();
colorCode.put("Red", Color.parseColor("Red"));
// put all pre-defined color in map
tv.setTextColor(colorCode.get("your color word"));
答案 1 :(得分:1)
您可以实现这样的简单适配器并使用它来填充ListView
public class MySimpleStringAdapter extends ArrayAdapter<String> {
public MySimpleStringAdapter (Context context, int textViewResourceId, List<String> objects) {
super(context, textViewResourceId, objects);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
String myString = getItem(position);
//check your string
//Change the color as you want
//((TextView)convertView).setTextColor();
}
}
在主课上
MySimpleStringAdapter mySimpleNewAdapter = new MySimpleStringAdapter (context,textViewResourceId,stringList);
listView.setAdapter(mySimpleNewAdapter );
答案 2 :(得分:0)
使用Java的最后一个版本,您可以对String值执行switch语句,因此在每种情况下打开字符串并设置Background Color