2011-04-08 40 views
3

我想知道是否有可能得到下面的输出使用ListActivity时:的Android的ListView斜体

名称 - 年龄

名称 - 年龄

所以名字正常,年龄斜体。

我目前使用下面的代码:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/TextView01" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:padding="10dp" 
    android:textSize="20sp" 
    android:textStyle="italic" > 
</TextView> 

和Java:

FeedParser parser = new AndroidSaxFeedParser("http://www.example.com/test.xml"); 
messages = parser.parse(); 
List<String> titles = new ArrayList<String>(messages.size()); 
for (Message msg : messages){ 
    titles.add(msg.name+"\nAge: "+msg.age+""); 
} 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.row, titles); 
this.setListAdapter(adapter); 

回答

2

要么使用两个TextView小部件(一个年龄设置为斜体),或使用SpannedString与内嵌标记为斜体。获得SpannedString的一种方法是使用Html.fromHtml()

+0

这不起作用(titles.add不接受SpannedStrings) – Simon 2011-04-08 16:43:08

+0

@Kevin:将所有的''改为''(例如'List ')。 – CommonsWare 2011-04-08 16:45:06

+0

啊,谢谢。有趣的是,Html.fromHtml()将“test”翻译为粗体 – Simon 2011-04-08 16:48:49

0

您可以简单地设置HTML formatted text

让你的字符串看起来像这样Bob - <i>30</i>