Android:如何根据焦点禁用 EditText

问题描述 投票:0回答:1

我正在做一个有两个 EditText 的应用程序。我想做的是,如果您单击其中一个并在其上书写,则另一个必须擦除它所具有的任何内容,并且只显示提示字符串。我正在尝试使用一种检查方法来做到这一点:

if(celsius.isFocused()){
        
        faren.setText(faren.getHint().toString());
    }
    if(faren.isFocused()){
        
        celsius.setText(celsius.getHint().toString());
    }    

然后我在 onCreate() 方法中调用此方法,但当然它只检查一次,如果在循环中使用该 checkMethod,应用程序不会显示任何内容,它会冻结。有建议吗?

android focus android-edittext
1个回答
1
投票

使用 OnFocusChangeListener

faren.setOnFocusChangeListener(new OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        if(hasFocus)
            celcius.setText(""); // This will automatically show the hint text
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.