gpt4 book ai didi

android - 使所有EditText不可一起编辑

转载 作者:太空狗 更新时间:2023-10-29 16:29:08 25 4
gpt4 key购买 nike

我搜索并找到了使单个 EditText 不可编辑的方法,例如

  1. edittext.setKeyListener(null);
  2. EditText设置为android:focusable="false"

但是,这些方法的问题是我需要获取对布局中每个 EditText View 的引用,并分别实现上述语句。有没有一种方法可以使布局中的所有 EditText View 都不可编辑?

应用程序是这样的:我有一个“显示和编辑” Activity ,向用户显示数据库中的当前记录。此时显示的文本应该是只读的。如果需要,他单击编辑按钮,然后 EditText View 变为可编辑状态。

我尝试在根 ViewGroup 中设置 android:inputType="none"android:focusable="false" 但那没有不工作。有出路吗?

最佳答案

如果您想以编程方式实现这一点,

public void setupUI(View view, boolean editable) {
if (view instanceof EditText) {
((EditText)view).setFocusable(editable);
//Here you can add any other code that needed to be done while changing focus of a particular edit text
return;
}
//If a layout container, iterate over children and seed recursion.
if (view instanceof ViewGroup) {
for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
View innerView = ((ViewGroup) view).getChildAt(i);
setupUI(innerView, editable);
}
}
}

为该方法提供您的 fragment 或 Activity 的父 View 。

当您单击编辑按钮时,将父 View 和 true(即可编辑)传递给该方法,而在编辑后传递父 View 和 false(即不可编辑)。

关于android - 使所有EditText不可一起编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43630146/

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