【问题标题】:Parsing Xml and add different colors解析 Xml 并添加不同的颜色
【发布时间】:2012-08-27 16:52:51
【问题描述】:

我是android新手,需要帮助,我有一个在线xml,我用这个例子来解析。 example

但是不知道如何根据值为内容“Var”添加颜色,如果高于零,则为绿色,如果小于零,则为红色。

【问题讨论】:

  • 所以你想在列表视图中显示这个?
  • 是的,我需要把它放在一个列表视图中

标签: java android xml xml-parsing


【解决方案1】:

假设这是您所指的教程http://www.jondev.net/articles/Android_XML_SAX_Parser_Example,那么我会假设您已经解决了如何将数据放入列表视图的问题?

如果您使用了 customListAdapter,例如本例中的 http://jnastase.alner.net/archive/2010/12/19/custom-android-listadapter.aspx,那么您需要在 getView() 方法中添加一个额外的步骤来自定义列表项视图的颜色。例如,您可以更改背景颜色或文本颜色。

public View getView(int position, View convertView, ViewGroup parent) {
    ....
    TextView mytext = findViewById(R.id.myText);
    int yourVar = getItem(position).var;
    if(yourVar > 0)
    {
        mytext.setTextColor(0x0000FF);
    }else{
        mytext.setTextColor(0xFF0000);
    }
}

这假设有一定数量,例如您使用自定义列表适配器和您自己的布局。

修正。 如果这是文本视图中的文本列表,那么您可以尝试使用 html 对其进行格式化,例如这个问题显示了如何为文本着色 Change text color of one word in a TextView

String someText1 = "<font color='#FF0000'>this is red text</font>";
String someText2 = "Standard text"
yourTextView.setText(Html.fromHtml(someText1 + someText2));

但这并不能完全回答您的问题,因为您需要完成以下步骤。

  1. 获取文本值
  2. 转换为数字并执行上述条件测试。
  3. 如上所示以 html 格式包装文本值。
  4. 写回字符串。

您可以尝试正则表达式,或将字符串拆分为数组。恐怕我不知道这一点。

【讨论】:

  • 对不起,我以这个例子为指导stackoverflow.com/questions/5865200/…,我将数据放在一个列表中并通过toString显示在一个textview中,然后在一个列表中显示值但只从文本视图
  • 我觉得不是很方便,我用了 contains (-) 但是我只捕获第一个值,如果负数显示我后面的所有值都是红色的
猜你喜欢
  • 2011-04-21
  • 1970-01-01
  • 2013-01-22
  • 1970-01-01
  • 2018-08-11
  • 2016-07-09
  • 1970-01-01
  • 2014-03-29
  • 1970-01-01
相关资源
最近更新 更多