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

如何在JAVA中使编辑文本不可编辑但可点击

崔高远
2023-03-14

是否可以使EditText可单击但不可编辑。

我不希望它是可编辑的(键盘也不应该出现,我们也不应该改变提示)

实际上,我只想使用编辑文本作为带有提示的图像(不能更改)。我知道实际的方法是使用一个ImageView和一个TextView,但我希望它尝试使用EditText,因为这样我将只使用一个视图,而不是2个。而且每件事都是动态的,所以没有XML。

对于上述需求,XML中的解决方案是android:editable=“false”,但我想在Java中使用它。

但是

如果我使用:-

et.setEnabled(false);

或者

 et.setKeyListener(null);

它使编辑文本不可编辑,但同时也使其不可单击。

共有3个答案

尚声
2023-03-14

您可以设置EditText通过使用java代码作为Hibernate:-

edittext.setFocusable(false);
edittext.setClickable(true);

或者通过在XML文件中使用下面的代码来实现EditText

android:editable="false" 
android:inputType="none"  
令狐昌胤
2023-03-14

由于可编辑已被弃用。您可以在设计xml时将android:inputType用作none,也可以用作inputType。在编码中键入\ u NULL。

设计XML

<android.support.v7.widget.AppCompatEditText
    android:id="@+id/edt"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:clickable="true"
    android:focusable="false"
    android:inputType="none"
    android:text="EditText"/>

编码

edt.setClickable(true);
edt.setFocusable(false);
edt.setInputType(InputType.TYPE_NULL);

下面是edittext的单击事件

edt.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        Toast.makeText(YourActivity.this,"edt click", Toast.LENGTH_LONG).show();
    }
});
朱硕
2023-03-14

这里的诀窍是:-

et.setFocusable(false);
et.setClickable(true);
 类似资料:
  • 问题内容: 我有一个jQGrid的列,我只想在添加新行时可编辑。 我已经看到了在对话框中同时进行编辑和添加时如何执行此操作的示例,但是是否可以通过内联编辑来执行此操作? 我试过在beforeShowForm:中使用grid.setColProp(),但这是行不通的(该列保持只读状态,并且在添加对话框中不存在)。 问题答案: 在旧示例中],可以在“添加”或“编辑”对话框中修改的所有字段都具有属性。仅

  • 问题内容: 有什么办法可以在jtable中动态制作不可编辑的单元格吗?每当用户提供类似false的输入时,我都想创建不可编辑的单元格…我已经在DefaultTableModel isCellEditable方法中看到过,但是如果我想使用它,则每次创建新对象时都会创建它,因此我想动态更改它为不可编辑。有人可以帮我吗?。谢谢 问题答案: 其他班级 然后,您可以通过使用存储的myModel变量并在其上调

  • 在我的应用程序中,有一个JComboBox,其中包含大约200个条目。使用该应用程序的人抱怨说,即使他们确切地知道列表的最后一个元素是什么,也必须一直滚动到底部是令人沮丧的。 所以我把JComboBox设置成可编辑的,这样他们就可以输入最后一个元素了。但是,我的数据库不接受该组合框的下拉列表中没有的任何值。 有没有办法使JComboBox仅“可键入”而不是“可编辑”,因此它将允许您键入值,但前提是

  • Ruby我已经开始在我的Ruby代码中插入不可编辑的文本,我觉得这很烦人。例如,这个简单的rSpec表达式: ...变成了这样: 另一个例子是: ...变成了这样: 如何关闭此功能?

  • http://www.primefaces.org/showcase/ui/input/onemenu.xhtml(见可编辑菜单) 有没有办法放置一个占位符,上面写着“点击进入手动输入”这样的文本,或者让用户知道这个下拉列表是可编辑的。找到下面的代码段以供参考。

  • 问题内容: 如果我想将cq5组件设置为在A页中可编辑但在B页中不可编辑,是否可以。 例如:在A页上,我有C组件,我们允许作者打开对话框并编辑该组件。但是我们不允许作者打开对话框来编辑页面B上的组件C。我尝试研究cq:EditConfig 链接,但这还不足以解决我的问题。 问题答案: 您可以在包含之前设置ComponentContext.BYPASS_COMPONENT_HANDLING_ON_IN