Napisałem wiersz:
String Mess = R.string.mess_1 ;
aby uzyskać wartość ciągu, ale zamiast zwracać ciąg, podaje mi identyfikator typu liczba całkowita. Jak mogę uzyskać wartość ciągu? Wspomniałem o wartości ciągu w string.xml
pliku.
Spróbuj tego
String mess = getResources().getString(R.string.mess_1);
AKTUALIZACJA
String string = getString(R.string.hello);
Możesz użyć albo getString(int)
albo, getText(int)
aby pobrać ciąg. getText(int)
zachowa wszelkie style tekstu sformatowanego zastosowane do łańcucha.
Odniesienie: https://developer.android.com/guide/topics/resources/string-resource.html
this.getString(R.string.some_id)
jeśli jesteś już wContext
(działalność lub usługa).getResouces().getInteger(R.integer.my_value_in_xml)
W działaniu:
Jeśli nie jest aktywny, ale ma dostęp do kontekstu:
źródło
this
podczas aktywności. Po prostugetString()
pozwoli ci robić różne rzeczy.Używam tego:
źródło
Resources.getSystem()
nie daje zasobów aplikacji, ale tylko zasoby Androida. Nie należy go używać do takich zasobówstring
. Użyłem tego rozwiązania i aplikacjanotfoundexception
uległa awarii, powodując, że było to trudne do zrozumienia (ponieważ zasób istniejestrings.xml
).Nawiasem mówiąc, możliwe jest również tworzenie tablic ciągów w pliku strings.xml w następujący sposób:
A następnie z działania możesz uzyskać takie odniesienie:
źródło
Tylko dla przyszłych odniesień.
W dokumentacji zasobów String napisano:
źródło
Rozwiązanie 1
Rozwiązanie 2
źródło
Fragmentami możesz użyć
źródło
Jeśli chcesz na przykład dodać wartość ciągu do przycisku, wystarczy użyć
Zdefiniowany tekst w strings.xml wygląda następująco:
źródło
Przed użyciem
getResources()
w systemie Android musisz odwołać się do nazwy kontekstu .LUB
źródło
Możesz użyć tego kodu:
źródło
Jeśli prowadzisz działalność, możesz jej użyć
Jeśli nie jesteś w działaniu, użyj tego:
źródło
Detale
Zadanie
Krok 1. Aplikacja ()
Krok 2. Dodaj rozszerzenie int
Stosowanie
Wyniki
źródło
podczas gdy ty piszesz
R
. masz na myśliR.java
klasę utworzoną przez eclipse, użyjgetResources().getString()
i przekażid
zasób, z którego próbujesz odczytać wewnątrzgetString()
metody.Przykład:
String[] yourStringArray = getResources().getStringArray(R.array.Your_array);
źródło
**
**
źródło
Aktualizacja
getString(R.string.some_string_id)
w obuActivity
lubFragment
.Context.getString(R.string.some_string_id)
, gdy nie masz bezpośredniego dostępu dogetString()
metody. JakDialog
.Problem polega na tym, że nie masz
Context
dostępu , jak metoda wUtil
klasie.Załóżmy poniższą metodę bez kontekstu.
Teraz przejdziesz
Context
jako parametr w tej metodzie i użyjeszgetString().
To co robię jest
Co? Jest bardzo prosty w użyciu w dowolnym miejscu w aplikacji!
Oto wyjątkowe rozwiązanie premiowe, dzięki któremu można uzyskać dostęp do zasobów z dowolnego miejsca
Util class
.Dodaj pole nazwy do
manifest.xml
<application
tagu.Teraz możesz już iść.
źródło
getString (R.string.your_string) pobierz wynik
źródło
String myString = getResources().getString(R.string.here_your_string_name);
Teraz twój ciąg jest kopiowany do myString. Mam nadzieję, że ci się uda.
źródło
Możesz bezpośrednio odczytać wartość zdefiniowaną w strings.xml:
i ustaw na zmienną:
ale możemy zdefiniować ciąg do widoku:
źródło