Java 在转到另一个editText时,单击editText完成

Java 在转到另一个editText时,单击editText完成,java,android,android-layout,android-edittext,Java,Android,Android Layout,Android Edittext,我有一个问题,我在网上找不到答案,也不知道如何找到答案 我有edittextxml属性,我做了一个事件侦听器 通过更改该属性下下划线的颜色,可以将其设置为该属性。当焦点从此EditText中移除时(即用户单击任何其他元素而不是此元素),是否有办法移除我着色的线条的高亮颜色 在onclick事件侦听器上?这看起来很奇怪,但我想要与onclick相反的东西,比如onclickremove或其他什么东西。您可以使用setonfocuschangeenner编辑文本。如果失去焦点,请清除颜色过滤器: e

我有一个问题,我在网上找不到答案,也不知道如何找到答案

我有
edittextxml
属性,我做了一个事件侦听器 通过更改该属性下下划线的颜色,可以将其设置为该属性。当焦点从此
EditText
中移除时(即用户单击任何其他元素而不是此元素),是否有办法移除我着色的线条的高亮颜色


onclick
事件侦听器上?这看起来很奇怪,但我想要与
onclick
相反的东西,比如
onclickremove
或其他什么东西。

您可以使用
setonfocuschangeenner
编辑文本。如果失去焦点,请清除颜色过滤器:

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"));

希望这对您有所帮助。

您可以使用
setOnFocusChangeListener
编辑文本。如果失去焦点,请清除颜色过滤器:

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"));

希望这有帮助。

您需要使用
setOnFocusChangedListener
来实现此目的。
hasFocus
确定是移除焦点还是将焦点提供给视图。如果
false
,则表示用户已离开该字段

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

为此,您需要使用
setOnFocusChangedListener
hasFocus
确定是移除焦点还是将焦点提供给视图。如果
false
,则表示用户已离开该字段

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

它会清除您设置为焦点的下划线颜色。即使我的下划线颜色是一条直线视图,而不是内置的??在该事件侦听器上,并且我正在更改某个视图的颜色,我当然可以撤消它,但似乎有更好的方法。Ps视图只是一条水平直线分隔符右侧,没问题,您可以在焦点丢失时更改视图颜色。但你为什么选择了。在editText下面有默认下划线的视图中使用。它会清除焦点上设置的下划线颜色。即使我的下划线颜色是一条直线视图,而不是内置的??OnTouch事件侦听器,并且我正在更改某个视图的颜色,我当然可以撤销它,但似乎有更好的方法。Ps视图只是一个水平直线分隔符。没有问题,您可以在失去焦点时更改视图颜色。但你为什么选择了。在editText下面有默认下划线的位置使用视图。