9

I am parsing data from an XML file which has subscript and superscript characters in them which I got from the character map. Like so:

<value column="Back" null="false">H₂</value>

but when I display it on a textview in Android it gives me this 'Hâ,,'

How can I fix this and display it properly in my app?

Lino
  • 5,084
  • 3
  • 21
  • 39
xSooDx
  • 493
  • 1
  • 5
  • 19

4 Answers4

7

I found out how

In the XML file the code should be like this :

<value column="Back" null="false">H&lt;sub&gt;2&lt;/sub&gt;</value>

So that the parced string value is "H<sub>2</sub>" then in the java code :

TextView textview.setText(Html.fromHtml(YourString);

and for superscript use "sup" instead of "sub"

xSooDx
  • 493
  • 1
  • 5
  • 19
5

You can use <small> tag along with <sub> or <sup> tags to decrease the size of the text.

For example:<sup><small>your-string</small></sup>

If you want to still decrease the size of text,you add <small> tag once more like this<sup><small><small>your-string</small></small></sup>

I'm using android studio and it is working perfectly for me !

Dhanush JL
  • 106
  • 1
  • 3
5

i found this method useful for me.

strings.xml

<string name="your_string">H<sub>2</sub></string>
Hussnain Hashmi
  • 203
  • 2
  • 9
0

You can change it easier than that, just write in @strings or where you want<sub>your-string-here</sub> for subscript or <sup>your-string-here</sup>. The subscripted letters(of your word) still have the same size as your text. You need to decrease it's size. For that, use , where number means the size of the text you want.

Andrei
  • 330
  • 1
  • 3
  • 12