如何在Android应用程序中捕获禁用的EditText中的onclick事件

如何在Android应用程序中捕获禁用的EditText中的onclick事件,android,onclick,android-edittext,Android,Onclick,Android Edittext,我有一个EditText,我将其显示为禁用状态,这样用户就无法编辑内容,也可以避免弹出键盘。但现在我想在EditText中捕获onclick事件,并识别正在单击的单个单词。 欢迎任何帮助 谢谢, Balkrishna.在您的EditText上设置属性android:focusable=“false”和android:enabled=“true”。 并将OnClickListener设置为EditText。单击该Edittext会触发onClick()方法,但无法对其进行编辑。我刚试过。您可以通过

我有一个EditText,我将其显示为禁用状态,这样用户就无法编辑内容,也可以避免弹出键盘。但现在我想在EditText中捕获onclick事件,并识别正在单击的单个单词。 欢迎任何帮助

谢谢,
Balkrishna.

在您的
EditText上设置属性
android:focusable=“false”
android:enabled=“true”

并将
OnClickListener
设置为
EditText
。单击该Edittext会触发
onClick()
方法,但无法对其进行编辑。我刚试过。

您可以通过使用使组件不可读

editText.setClickable(false);
通过减小Alpha值,使组件看起来在视觉上被禁用

editText.setAlpha(0.5f);
它将允许您在组件上设置一个OnTouchListener,通过它您可以执行所需的操作

editText.setOnTouchListener(new View.OnTouchListener() {
                    @Override
                    public boolean onTouch(View v, MotionEvent event) {
                        Toast.makeText(getApplicationContext(),"Component is disabled", Toast.LENGTH_SHORT).show();
                        return false;
                    }
                });

谢谢拉吉兰。。现在我可以得到onclick事件了。。但下一个问题是要抓住被点击的词……嗯,我看不出有什么办法可以做到这一点。你得摆弄它。如果你得到了同样的解决方案,别忘了发布答案。祝你好运!也设置Android:LoCyrCyLabe=“false”,没有长时间点击它会进入选择/粘贴模式,你也要考虑<代码> Android:CursReavigaby=“false”
避免用户在单击编辑文本时看到真实光标。多次调用单个touch@ChandraKiran尝试返回true或尝试在侦听器中执行此操作:if(motionEvent.getAction()==motionEvent.ACTION\u DOWN){//您的代码}