2016-06-11 8 views
0


私はedittextを持っていて、onclickの後に境界線の色を変更したいと思います。
クリックすると、赤い境界線の色が表示されます。
しかし、もう一度試しても何も起こりません。まだ赤いです。
最初のクリック赤 - > 2回目のクリック黒 - > 3回目のクリック赤色など
どのように修正できますか?あなたのケースではEdittextを変更する境界線の色を常にオンクリックする

... 
boolean focus = false 

... 
    private void setOnFocusChangeListener(final EditText editText) {       
     editText.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
      @Override 
      public void onFocusChange(View view, boolean hasFocus) { 
       if (!hasFocus) { 
        editText.setBackgroundResource(R.drawable.black); 
        focus = false; 
       } else if (hasFocus) { 
        editText.setBackgroundResource(R.drawable.red); 
        focus = true; 
       } else if ((hasFocus) && focus) { 
        editText.setBackgroundResource(R.drawable.black); 
        focus = false; 
       } 
      } 
     }); 
    } 
+0

をあなたはのEditTextをクリックしたときの色を変更したいですまたは別のボタン? – user5894647

+0

あなたは毎回同じ 'edittext'をクリックしていますか? –

+0

はいedittextの境界と同じ色と同じです。 –

答えて

0

代わりに使用することができますonFocusChangeListener()onClickListener()のあなたがクリックするたびに変更するとして、あなたはこのような何か行うことができます。

int res = R.drawable.black; // Your default background 

etEmailAdress.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (res == R.drawable.black) { 
       res = R.drawable.btn_green; 
      } else { 
       res = R.drawable.black; 
      } 
      etEmailAdress.setBackgroundResource(res); 
     } 
    }); 
+0

キーボードを隠すためにキーボードを隠すために –

+0

がonfocuschangelistenerを必要としますか?具体的な条件は? –

+0

hidekeyboardメソッドが準備完了です。 edittext –

関連する問題