3

「そのような静的フィールドはありません」というメッセージが表示されますが、イベント ハンドラ内の 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 は、リスナーの関数内では使用できないようです。したがって、私の質問を「独自のコードを書く代わりに、EditText 内でヒントを表示するネイティブな方法はありますか?」と考えてください。

4

3 に答える 3

2

使用するcontext.getResources().getString(R.string.searchbar_address_label);

android:hint="your_text" xml レイアウトで使用するヒントを設定します。または edittext.sethint("text"); を使用してプログラムで同じことを行うことができます。

于 2013-01-23T11:22:20.807 に答える
1

このような状況では、プロジェクトを再構築し、デバイスからアプリをアンインストールすると役立つ場合があります。それは私のために働いた。

于 2013-11-08T14:38:44.803 に答える