android - 如何在代码中获取 EditText maxLength 设置

标签 android android-edittext

我希望在运行时查看 EditTextmaxLength 以便能够做出文本显示决定。
这可能吗?

这是对我不想做的事情的描述。

我有一个包含很多行的 ListView,每行都有一个 EditText 和一个 TextView。
我创建了一个 ArrayAdapter 的子类,以便能够提供我想要放置在每一行的 EditText 中的字符串。
我在 XML 文件中设置了 android:maxLength="12"
我想在该 EditText 字段中显示一个数字,但如果我想显示的数字超过 android:maxLength="12" 我想显示一条“错误消息”。

而且我不希望在我的 ArrayAdapter 子类中硬编码这 12 个。

可能有一个简单的解决方案,但我还没有找到。
(安卓第一次……)

最佳答案

只有有限的参数才有getter,所以我觉得你看不懂。

所以在 values 文件夹中写入长度(比如 12)并在 xml 布局和 arrayAdapter 中使用它。 现在它不是硬编码的。

1) 在值中创建 integer.xml *

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <item type="integer" name="max_length">12</item>
</resources>

2)在布局中

<TextView  android:id="@+id/tv"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:maxLength="@integer/max_length"
    />

3) 在 ArrayAdapter 中:

int maxLength = getResources().getInteger(R.integer.max_length);

关于android - 如何在代码中获取 EditText maxLength 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8069015/

相关文章:

java - 无法从 fragment 中的编辑文本获取值

java - 正则表达式在 Android 中不起作用

android - 我可以在 android :imeOptions ="actionSearch"? 上写我自己的事件吗

android - 无法使用 Gradle 构建 Android 项目(使用 Android 注释)

android - 是否可以在没有我的服务器的情况下从 Android 应用程序付款?

android - Cordova 地理定位不适用于 Android

android - EditText.setError 不显示错误文本,只显示图标

android - 配置 Proguard 以从 ReSTLet 库中删除未使用的类的最佳方法

java - Android:如何创建数据库管理类的对象然后使用它?

Android 4.0 EditText 无软键盘带光标定位