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