setError
メソッドをTextView
に設定し、デフォルトのAndroidアイコン)の代わりにカスタムアイコンを使用したいので、これを試しました。
((EditText)findViewById(R.id.edtTitle)).setError(getResources().getText(R.string.errEmptyTitle),
getResources().getDrawable(R.drawable.ico_warning_small);
カスタムメッセージは表示されますが、カスタムアイコンは表示されません。私もこれを試しました:
Drawable warning = (Drawable)getResources().getDrawable(R.drawable.ico_warning_small);
((EditText)findViewById(R.id.edtTitle))
.setError(getResources().getText(R.string.errEmptyTitle), warning);
ほぼ同じですが、それでも試してみることにしました。しかし、これも役に立ちませんでした-私はまだアイコンを見ることができません。他のAndroidシステムアイコンを使用してみましたが、表示されるかどうかを確認するためだけに使用しましたが、表示されません。
だから私は何が間違っているのですか?そのカスタムアイコンを設定する方法はありますか?
SetErrorで使用する前に、ドローアブルの境界を設定する必要があります。
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
editText.setError("error", drawable);
アイコンをまったく表示したくない場合は、
editText.setError("error", null);
Drawable customErrorDrawable = getResources().getDrawable(R.drawable.error_icon);
customErrorDrawable.setBounds(0, 0, customErrorDrawable.getIntrinsicWidth(), customErrorDrawable.getIntrinsicHeight());
editText.setError("please enter data",customErrorDrawable);