Saya telah menulis baris:
String Mess = R.string.mess_1 ;
untuk mendapatkan nilai string, tetapi bukannya mengembalikan string, itu memberi saya id tipe integer. Bagaimana saya bisa mendapatkan nilai senarnya? Saya menyebutkan nilai string dalam string.xml
file.
this.getString(R.string.some_id)
jika Anda sudah berada dalamContext
(Aktivitas atau Layanan).getResouces().getInteger(R.integer.my_value_in_xml)
Dalam Aktivitas:
Jika tidak dalam kegiatan tetapi memiliki akses ke konteks:
sumber
this
saat Anda berada di Aktivitas. CukupgetString()
akan membiarkan Anda melakukan sesuatu.Saya menggunakan ini:
sumber
Resources.getSystem()
tidak memberi Anda sumber daya aplikasi, tetapi hanya android. Seharusnya tidak digunakan untuk sumber daya sepertistring
. Saya menggunakan solusi ini dan aplikasi macet, melemparnotfoundexception
yang sulit dimengerti (karena sumber daya ada distrings.xml
).By the way, juga dimungkinkan untuk membuat array string di strings.xml seperti ini:
Dan kemudian dari Aktivitas Anda, Anda bisa mendapatkan referensi seperti:
sumber
Hanya untuk referensi di masa mendatang.
Dalam dokumentasi sumber daya String dikatakan:
sumber
Solusi 1
Solusi 2
sumber
Dalam fragmen, Anda bisa menggunakan
sumber
Misalnya, jika Anda ingin menambahkan nilai string ke tombol, gunakan sederhana
Teks yang didefinisikan dalam strings.xml terlihat seperti ini:
sumber
Anda harus merujuk nama Konteks sebelum menggunakan
getResources()
di Android.ATAU
sumber
Anda dapat menggunakan kode ini:
sumber
Jika Anda berada dalam suatu kegiatan yang dapat Anda gunakan
Jika Anda tidak dalam suatu Aktivitas, gunakan ini:
sumber
Detail
Tugas
Langkah 1. Aplikasi ()
Langkah 2. Tambahkan ekstensi int
Pemakaian
Hasil
sumber
selagi kamu menulis
R
. Anda merujuk keR.java
kelas yang dibuat oleh eclipse, gunakangetResources().getString()
dan lulusid
dari sumber yang Anda coba baca di dalamgetString()
metode.Contoh:
String[] yourStringArray = getResources().getStringArray(R.array.Your_array);
sumber
**
**
sumber
Memperbarui
getString(R.string.some_string_id)
keduanyaActivity
atauFragment
.Context.getString(R.string.some_string_id)
mana Anda tidak memiliki akses langsung kegetString()
metode. SepertiDialog
.Masalahnya adalah di mana Anda tidak memiliki
Context
akses , seperti metode diUtil
kelas Anda .Asumsikan metode di bawah ini tanpa Konteks.
Sekarang Anda akan lulus
Context
sebagai parameter dalam metode ini dan gunakangetString().
Apa yang saya lakukan adalah
Apa? Sangat mudah digunakan di mana saja di aplikasi Anda!
Jadi di sini adalah solusi unik Bonus di mana Anda dapat mengakses sumber daya dari mana saja seperti
Util class
.Tambahkan bidang nama ke
manifest.xml
<application
tag Anda .Sekarang kamu baik untuk pergi.
sumber
getString (R.string.your_string) dapatkan hasilnya
sumber
String myString = getResources().getString(R.string.here_your_string_name);
Sekarang string Anda disalin ke myString. Saya harap ini akan berhasil untuk Anda.
sumber
Anda dapat membaca secara langsung nilai yang didefinisikan dalam strings.xml:
dan diatur ke dalam variabel:
tapi kita bisa mendefinisikan string ke tampilan:
sumber