/ / Context.getString spôsobujúce „žiadne také statické pole“ - android

Context.getString spôsobujúce „žiadne také statické pole“ - android

Snažím sa získať reťazec z môjho súboru strings.xml v obsluhe udalostí, hoci dostávam „Žiadne také statické pole“.

Tu je môj kód:

mSearchEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean hasFocus) {
Context context = view.getContext();

if (hasFocus && mSearchEditText.getText().toString().trim() == context.getString(R.string.searchbar_address_label)) {
mSearchEditText.setText("");
}
else if (!hasFocus && mSearchEditText.getText().toString().trim().isEmpty()) {
mSearchEditText.setText(context.getString(R.string.searchbar_address_label));
}
}
});

Čo je s týmto kódom nesprávne?

Vďaka

UPDATE: Tento kód bol určený na naznačenie náznaku v EditText. Zdá sa, že R.string nie je dostupný vo vnútri funkcií poslucháča. Preto zvážte moju otázku ako „Existuje natívny spôsob, ako ukázať rady vo vnútri EditTextu namiesto písania vlastného kódu?“

odpovede:

2 pre odpoveď č. 1

použitie context.getResources().getString(R.string.searchbar_address_label);

na nastavenie nápovedy android:hint="your_text" v rozložení xml. alebo to isté sa dá urobiť programovo pomocou edittext.sethint ("text");


1 pre odpoveď č. 2

V takýchto situáciách môže pomôcť opätovné zostavenie projektu a odinštalovanie aplikácie zo zariadenia. Fungovalo to pre mňa.