2

私のプロジェクトでは、バックラウンドが編集テキストの別のものと等しいかどうかを確認する必要があります (編集テキストにはカスタム ドローアブルがあります)。このコードを試しましたが、うまくいきません:

 if (editText.getBackground().equals(getResources().getDrawable(R.drawable.edit_text_box_red)))
 {
       editText.setBackgroundResource(R.drawable.edit_text_box_white);
 }

ボタンを押して editText の背景が赤の場合は、白にして前の状態にする必要があるため、これが必要です。これどうやってするの?

4

2 に答える 2

2

そもそも背景を変更するときに背景情報を保存しておくのは理にかなっていると思います。これを行う 1 つの方法は、setTag(). たとえば、ビューの背景を赤に変更すると、 も実行されますeditText.setTag("red")。その後、次のことができます

if (editText.getTag().equals("red")) {
    editText.setBackgroundResource(R.drawable.edit_text_box_white);
    editText.setTag("white");
}
于 2012-10-05T07:16:19.433 に答える
1

「フラギング」はどうですか?を作成するようなものstatic bool red = false で、色を変更するときに 、選択範囲内でred値をに変更します。true

if(red == true){
editText.setBackgroundResource(R.drawable.edit_text_box_white);
red = false;}

この助けを願っています:D

于 2012-10-05T07:24:54.890 に答える