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

  • EEVblog2

    EEVblog2

    2 HAZİRAN 2014
  • Fuse

    Fuse

    21 Kasım 2005
  • Microsoft Research

    Microsoft Re

    24 EKİM 2008