当前位置: 首页 > 知识库问答 >
问题:

OnClick事件仅在edittext上第二次有效

蓝昊天
2023-03-14

我有一个edittext,当用户单击此edittext时,我要显示一个AlertDialog。
我的代码如下:

            edt.setInputType(InputType.TYPE_NULL);
            edt.setFocusableInTouchMode(true);
            edt.requestFocus();

            edt.setCursorVisible(false);

            edt.setOnClickListener(new OnClickListener() {

                public void onClick(View v) {
                    CommentDialog.buildDialog(mContext, identifier, false, edt.getId());
                }
            });

我不想在用户单击edittext时显示键盘,所以我将inputtype设置为Type_NULL。
但是当edittext没有焦点并且我单击它时,不会执行onClick事件。当我再次单击它时,alertdialog将正确显示。

我怎么解决这个?

共有1个答案

柯乐池
2023-03-14

只需尝试将其添加到xml文件中。当widget获得焦点时,键盘会弹出。因此,为了防止这种行为,将focusable设置为false。然后通常使用onclicklistener

<EditText
  android:focusable="false"
  ...
/>

现在,应该管用了。

 类似资料:
  • 问题内容: 我正在开发我的第一个android计算器应用程序。我陷入一个单一的缺陷。我添加了几个按钮,然后单击这些按钮,它将把各自的文本放在“ 字段”上。主要问题描述如下:在运行项目时,必须单击两次按钮才能将相应的文本首次放置在字段上。例如,单击时将“ 1”放在字段上。在运行时,首先单击该按钮无效。仅在第二次单击时,它将“ 1”放在字段上。 该守则如下: XML按钮和EditField, Main

  • 问题内容: 我有一个叫做React的组件,有很多子组件(另一个React组件)。我希望能够从内部对每个事件声明一个事件。我尝试执行以下操作: 不用说,我没有得到任何“点击!” 出现在我的控制台中 Chrome中的React检查器会指示事件已注册,并应使用上述功能体进行注册。 因此,我得出结论,我无法在实际标签上注册事件(不过,我不确定为什么会这样)。我如何才能实现这一目标呢? 问题答案: 这取决于

  • 在React router中,我必须单击和onClick属性,如下所示 属性导航到关于路线 当我给超时内嵌函数调用点击,其导航到新页面,并在某个时候状态得到更新,导致显示以前的名称,直到状态更新为新名称。 是否有一种方法,只有在onClick函数中的代码执行之后,它才会导航到新路由。 您可以[在这里]获取整个代码(https://github.com/pushkalb123/basic-react

  • 我正在使用React-useState钩子更新状态。单击表单提交按钮时,状态直到第二次单击才更新。我相信我需要使用useffect,但不确定如何使用onClick实现。

  • 我正在使用JSF 2.0创建页面: 我期待在单击复选框时被调用。但是,加载页面时调用一次setMyCheckboxValue()。 如果我写 每次点击都会收到警报。 我的问题是:当我收到警报时,为什么每次onclick事件都不调用? 注意:我也尝试过AJAX,但复选框保持不变。

  • 我搜索了一个又一个,但我似乎没能抓住AndroidEditText键盘上的“箭头”键。对我来说,正是退格下方的按钮看起来像一个箭头。 我试过使用: 编辑文本: 但当我点击箭头按钮时,什么也没有打印出来。然而,这适用于键盘上的数字。我曾尝试在EditText xml中将箭头按钮更改为“完成”按钮,但这也不起作用。有人知道为什么吗?