我正在尝试从事件处理程序中的 strings.xml 文件中获取字符串,尽管我得到的是“没有这样的静态字段”。
这是我的代码:
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));
}
}
});
这段代码有什么问题?
谢谢
更新:此代码旨在显示 EditText 内的提示。 R.string 似乎在监听器的函数中不可用。因此,将我的问题视为“是否有一种 native 方法可以在 EditText 中显示提示而不是编写我自己的代码?”
最佳答案
使用 context.getResources().getString(R.string.searchbar_address_label);
设置提示使用android:hint="your_text"
在 xml 布局中。或者同样可以使用 edittext.sethint("text"); 以编程方式完成;
关于android - Context.getString 导致 "no such static field",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14478472/