相关疑难解决方法(0)

从XML格式的html格式的字符串资源中设置TextView文本

我的内部有一些固定的字符串strings.xml,例如:

<resources>
    <string name="somestring">
        <B>Title</B><BR/>
        Content
    </string>
</resources>
Run Code Online (Sandbox Code Playgroud)

在我的布局中,我有一个TextView我想填充html格式的字符串.

<TextView android:id="@+id/formattedtext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/htmlstring"/>
Run Code Online (Sandbox Code Playgroud)

如果我这样做,内容formattedtext只是somestring剥离任何html标签的内容,因此没有格式化.

我知道可以用编程方式设置格式化文本

.setText(Html.fromHtml(somestring));

因为我在我的程序的其他部分使用它,它按预期工作.

要调用这个函数我需要一个Activity,但是目前我的布局只是一个简单的或多或少的静态视图,我希望保持这种方式,以节省我创建一个Activity刚刚设置一些的开销文本.

我忽略了一些明显的东西吗 它根本不可能吗?欢迎任何帮助或变通方法!

编辑:刚试了一些东西,似乎xml中的HTML格式有一些限制:

  • 标签必须写成小写

  • 这里提到的一些标签 不起作用,例如<br/>(可以改为使用\n)

html formatting android textview

191
推荐指数
6
解决办法
20万
查看次数

如何使Resources.getStringArray与Android中的HTML标记一起使用

我有一个res/values带有字符串数组的XML文件,其项包含简单的HTML标记,例如:

<resources>
    <string-array name="frases31">
        <item>They <u>were not</u> before.</item>
        <item>I don\'t think <u>he</u> is.</item>
...
Run Code Online (Sandbox Code Playgroud)

我通过以下String[]方式将它们加载到数组中:

Resources res = mContext.getResources();
exercise.setSentences(res.getStringArray(R.array.frases31));
Run Code Online (Sandbox Code Playgroud)

麻烦的是String[]阵列中的变量exercise,被称为sentences仅包含字符串,HTML标记(<u></u>)已经消失了。我应该将调用结果存储res.getStringArray(R.array.frases31)在一个特殊变量中吗?我有一个指标,我会放sentences[i]一个TextView编程。

arrays android

0
推荐指数
1
解决办法
832
查看次数

标签 统计

android ×2

arrays ×1

formatting ×1

html ×1

textview ×1