Android动态更改ListView行的字体

Android动态更改ListView行的字体,android,android-layout,Android,Android Layout,我是个Android新手。我想动态突出显示ListView中的一些行。例如,如果我正在打印一个数字列表,我想用一个满足特定条件的数值将行以粗体显示 我正在使用自定义适配器。我该怎么做?如果我正确理解您的问题,您想突出显示一些行。 你可以用几种方法来做到这一点 1) 您可以创建2个xml文件,其中包括普通数据视图和突出显示的数据视图。根据您的数据,您可以替换xml文件进行查看。这样的 getView(...) { if(condition) myView = lInfla

我是个Android新手。我想动态突出显示ListView中的一些行。例如,如果我正在打印一个数字列表,我想用一个满足特定条件的数值将行以粗体显示


我正在使用自定义适配器。我该怎么做?

如果我正确理解您的问题,您想突出显示一些行。 你可以用几种方法来做到这一点

1) 您可以创建2个xml文件,其中包括普通数据视图和突出显示的数据视图。根据您的数据,您可以替换xml文件进行查看。这样的

getView(...)
{
    if(condition) 
        myView = lInflater.inflate(R.layout.normal_data,parent,false);
    else
        myView = lInflater.inflate(R.layout.highlighted_data,parent,false);

    //do something with row

    return myView;
}

2) 以上所有步骤。但是如果仅适用于字体,则可以在1个文件中执行此步骤。

必须在/res/values文件夹中创建样式,例如style.xml:

<resources>
    <style name="textbold" parent="@android:style/TextAppearance">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:textstyle">bold</item>
    </style>
</resources>

您是通过动态方式获取行的吗?@PANDA:是的,行数据是动态的,您想知道如何动态获取数据或如何动态更改现有行的字体吗?@PANDA:我知道如何动态获取数据,我不知道如何突出显示我拥有的数据,使其突出。非常感谢。这将帮助我开始。
@Override
public View getView(final int position, View convertView, ViewGroup parent)
{
    View result = getLayoutInflater().inflate(xml_resource, null);
    TextView tx = (TextView) result.findViewById(R.id.text-view-id);

    if(condition == true)
    {
        tx.setTextAppearance(context, R.style.your-style-name);
    }
    else
    {
        //something else
    }
    ........
}