点击editText后转到另一个edittext

时间:2017-03-19 11:03:40

标签: java android android-layout android-edittext

我有一个问题,我无法在网上找到答案或知道如何找到答案。

我有EditText xml属性,我做了一个事件监听器 通过更改其下方下划线的颜色来改变此属性。有没有办法从这个EditText中删除焦点(即用户点击任何其他元素而不是这个元素)来删除我着色的线的突出显示颜色?

onclick事件监听器上?这看起来很奇怪,但我希望onclick的反面像onclickremove或其他东西。

2 个答案:

答案 0 :(得分:3)

您可以使用setOnFocusChangeListener到EditText。如果失去焦点,请清除滤色镜:

editText.setOnFocusChangeListener(new OnFocusChangeListener() {          
        @Override
        public void onFocusChange(View v, boolean hasFocus) {
            if (hasFocus) {
               editText.getBackground().setColorFilter(color, PorterDuff.Mode.SRC_IN);
            }
            else{                   
               editText.getBackground().clearColorFilter();
            }
        }
    });

如果您想更改视图颜色,只需在onFocusChange中添加以下行:

view.setBackgroundColor(Color.parseColor("#ffffff"));

希望这有帮助。

答案 1 :(得分:0)

您需要使用setOnFocusChangedListenerhasFocus确定焦点是移除还是给予视图。它是false表示用户已离开该字段。

EditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if(hasFocus == false){
                     // change the color
                }
            }
        });