Saya memiliki string yang didefinisikan dalam file Resource strings.xml yang biasa seperti ini:
<string name="hello_world"> HELLO</string>
Apakah mungkin untuk mendefinisikan string format seperti yang di bawah ini
result_str = String.format("Amount: %.2f for %d days ", var1, var2);
dalam file sumber daya strings.xml?
Saya mencoba melarikan diri dari karakter khusus tetapi tidak berfungsi.
android
android-resources
CocoNess
sumber
sumber
Jawaban:
Anda tidak perlu menggunakan
formatted="false"
XML Anda. Anda hanya perlu menggunakan penanda format string yang sepenuhnya memenuhi syarat -%[POSITION]$[TYPE]
(di mana[POSITION]
posisi atribut dan[TYPE]
tipe variabel), daripada versi pendek, misalnya%s
atau%d
.Kutipan dari Android Docs: String Formatting and Styling :
sumber
Anda harus menambahkan
formatted="false"
ke sumber daya string AndaBerikut ini sebuah contoh
Di Anda
strings.xml
:Dalam kode Anda:
sumber
formatted="false"
dapat menyiratkan string tidak diformat. Diposting solusi lain stackoverflow.com/a/20887690/228429String.format(getString(R.string.all), 3.12, 2)
cara ini:getString(R.string.all, 3.12, 2)
.25%
, Android akan macet.File di dalam
strings.xml
menentukan sumber daya String seperti ini:Di dalam kode Anda (anggap itu mewarisi dari Konteks) cukup lakukan hal berikut:
(Dibandingkan dengan jawaban dari LocalPCGuy atau Giovanny Farto M. metode String.format tidak diperlukan.)
sumber
Kutipan dari Android Docs :
sumber
Bagi saya itu bekerja seperti itu di Kotlin:
string.xml saya
kelas saya
D / Double_CharSequence: Harga: U $ 99,90
sumber