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ď č. 1použ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.