SORU
13 Temmuz 2010, Salı


Set html biçimli dize kaynak XML TextView metinden

* *5, benim gibi bir şey içinde sabit bir dize var:

<resources>
    <string name="somestring">
        <B>Title</B><BR/>
        Content
    </string>
</resources>

ve benim düzen içinde html biçimli dize ile doldurmak istiyorum TextView var.

<TextView android:id="@ id/formattedtext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/htmlstring"/>

eğer bunu yaparsam, formattedtext içeriği sadece somestring içeriği herhangi bir html etiketleri çıkarılır ve böylece biçimlendirilmemiş.

Biçimlendirilmiş metin ile programlı olarak ayarlamak mümkün olduğunu biliyorum

.setText(Html.fromHtml(somestring));

beklendiği gibi çalışıyor nerede benim program diğer bölgelerinde bu kullanıyorum çünkü.

Bu işlev çağrısı için ihtiyacım var Activity ama şu anda benim düzen sadece basit daha fazla veya daha az statik görünümünde düz XML ve tercih ederdim için öyle bırakmak, beni kurtarmaya gelen yük oluşturma Activity set metin.

Bakan bir şey belli mi? Hiç mümkün değil midir? Herhangi bir yardım veya çözümler geldiniz!

Edit: Sadece bazı şeyler denedim ve xml HTML biçimlendirme bazı sınırlamalar var gibi görünüyor:

  • etiketler küçük harfle yazılır

  • bahsi geçen bazı etiketler here çalışmaz <br/> (örneğin mümkün \n yerine kullanmak için)

CEVAP
28 Mayıs 2011, CUMARTESİ


Her ihtimale karşı herkes bulur bu, orada daha iyi bir alternatif değil belgelenmiş (takıldım bittikten sonra arama yapmak için Saat, ve sonunda buldum hata listesi için Android SDK kendisi). SanaOLABİLİRstrings.xml seni sarın sürece ham HTML vardır

<![CDATA[ ...raw html... ]]>

Örnek:

<string name="nice_html">
<![CDATA[
<p>This is a html-formatted string with <b>bold</b> and <i>italic</i> text</p>
<p>This is another paragraph of the same string.</p>
]]>
</string>

Daha sonra kod:

TextView foo = (TextView)findViewById(R.id.foo);
foo.setText(Html.fromHtml(getString(R.string.nice_html)));

Bu birkaç büyüklük ile çalışmak daha güzel: - IMHO)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bethliebert

    bethliebert

    23 EKİM 2008
  • Matt Davis

    Matt Davis

    4 ŞUBAT 2006
  • MrDevin521

    MrDevin521

    18 Temmuz 2010