1. ホーム
  2. android

[解決済み] EditText の setHintTextColor()

2023-04-08 06:51:01

質問

2つのテキストボックスがあるビューがあり、ユーザーは同じ画面上の別のビューから(ダイアログボックスを通して)テキストの色を選択することができます。

そこで、ユーザーがダイアログボックスで色を変更すると、私は EditText のテキストとそのヒントの色を変更しています。しかし、あるテキストが EditText にテキストがある場合、ユーザーが他の色を選択すると、そのテキストはその色で表示されます。しかし、もし私がそのテキストをすべて削除したら、その時 ヒントテキスト は前の色になります。

例えば、現在、テキストボックスに赤色を使用していて、ユーザーが緑色を選択した場合、テキストは緑色で表示されます。しかし、私はそのテキストを削除した場合、ヒントテキストは、私であっても赤で来ている。 ヒントの色を変更する を実行しても赤で表示されます。この問題は、そこにいくつかのテキストがある場合にのみ発生します。それが空白であり、ヒントテキストがある場合、問題は来ていません。

どのように解決するのですか?

ヒントの色を変更するには、これを使用します。-

editText.setHintTextColor(getResources().getColor(R.color.white));

あなたの問題の解決策

editText.addTextChangedListener(new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence arg0, int arg1, int arg2,int arg3){
        //do something
    }

    @Override
    public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
        //do something
    }

    @Override
    public void afterTextChanged(Editable arg0) {
        if(arg0.toString().length() <= 0) //check if length is equal to zero
            tv.setHintTextColor(getResources().getColor(R.color.white));
    }
});