android 如何使Edittext不可点击

wbgh16ku  于 2023-08-01  发布在  Android
关注(0)|答案(9)|浏览(174)

我想让一个Editext只关注当我编程告诉它,而不允许用户按下他想要的。这可能吗?
我试过了

android:longClickable="false"
android:clickable="false"

字符串
但都不管用。
出于某种原因,人们认为以下解决了我的问题,但那个人试图使一个编辑文本不可编辑,我试图使一个编辑文本只能通过单击不可聚焦
EditText not editable

afdcj2ne

afdcj2ne1#

试试用

android:focusable="false"
    android:focusableInTouchMode="false"

字符串

sigwle7e

sigwle7e2#

我遇到了同样的问题,并通过使用解决了它:

.setEnabled(false) and .setClickable(false)

字符串
所以在代码中使用以下代码:

.setEnabled(false);
.setClickable(false);

tpxzln5u

tpxzln5u3#

不知道你是否得到了这个答案,但我不得不做同样的事情,虽然这可能不简洁,我知道它的工作:
首先将keyListener设置为null:

myEditText.setKeyListener(null);

字符串
接下来,将OnTouch侦听器设置为EditText,以执行您想要的任何操作:

myEditText.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                if(motionEvent.getAction() == MotionEvent.ACTION_UP){
                    //Do whatever action you need to do here. 
                }
                return false;
            }
});


从那里,您可以简单地将操作插入OnTouch侦听器ACTION_UP操作标记中。在我的情况下,我需要弹出一个对话框与列表视图,让他们选择一些东西,然后设置相应的文本到EditText。
希望能帮上忙。

2lpgd968

2lpgd9684#

方案

我遇到了同样的问题,并通过使用解决了它:

.setEnabled(false), .setClickable(false) and .setFocuseable(false)

字符串
所以在代码中使用以下代码:

et.setEnabled(false);
et.setClickable(false);
et.setFocuseable(false);

使用XML

android:focusable="false"

1yjd4xko

1yjd4xko5#

试试这个代码

EditText et = (EditText) findViewById(R.id.your_edit_text);
et.setFocusable(false);
et.setClickable(true);

字符串

3phpmpom

3phpmpom6#

EditText的直接父对象应该窃取焦点。例如:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:descendantFocusability="beforeDescendants"
    android:focusable="true"
    android:focusableInTouchMode="true">

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="enter.." />
</LinearLayout>

字符串

t5zmwmid

t5zmwmid7#

editText.isEnabled = false // makes it`s color grey
editText.setTextColor(Color.parseColor("#DE000000")) //change color if needed

字符串

t5fffqht

t5fffqht8#

也许你需要用这条线

android:inputType="none"

字符串
在xml中,这一行将阻止键盘显示

cczfrluj

cczfrluj9#

在xml文件中尝试使用以下代码-

android:clickable="false"
    android:focusableInTouchMode="true"

字符串
在EditText上使用它。我还没有试过,但希望它能奏效。

相关问题