gpt4 book ai didi

java - 如何启用触摸编辑文本

转载 作者:行者123 更新时间:2023-12-02 10:25:27 25 4
gpt4 key购买 nike

我有一个已禁用的 editText,我想在触摸它时启用它。

这是我所做的,但它不起作用:

if(textmail.isEnabled() == false){
textmail.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
textmail.setEnabled(true);
return true;
}


});
}

最佳答案

我仔细阅读了您的用例,您想禁用您的 TextView 并想禁用它 onTouch() (如果我错了,请纠正我)

这是一个解决方案,而不是使用 setEnabled() 就像设置它一样 onTouch() 不会被调用,因此最好通过声明全局变量( boolean 值)来手动执行此操作)在您编写逻辑的(View/activity/fragment/class)中。

    //this as global variable
private boolean isTextViewDisabled=false;


//place this code on onCreate()
textmail.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN ){
if(isTextViewDisabled){
return false;
}
}
return true;
}
});

根据您的用例需要,将 isTextViewDisabled 设置为 truefalse

但这里的困惑是启用和禁用的条件应该是其他东西,而不是触摸事件,因为根据您的用例代码应该如下所示:

   //place this code on onCreate()
textmail.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction()==MotionEvent.ACTION_DOWN ){
if(isTextViewDisabled){
isTextViewDisabled=false;
}
}
return true;
}
});

在你解释为什么要禁用 textView 之前,上面的代码没有多大意义

关于java - 如何启用触摸编辑文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53985776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com