- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
这里是我的编辑文本:-
<com.os.fastlap.util.customclass.EditTextPlayRegular
android:id="@+id/full_name_et"
style="@style/Edittext_white_13sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/_5sdp"
android:background="#00ffffff"
android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
android:imeOptions="actionNext"
android:inputType="text"
android:maxLength="20"
android:maxLines="1"
android:nextFocusDown="@+id/last_name_et"
android:textCursorDrawable="@null" />
当我在 edittext 中删除 digit
时,它工作正常但 digit
imeOptions
不起作用。但令人惊讶的是,如果我使用 singleLine
而不是 maxLines,它工作正常。但是 singleLine
现在已被弃用。 我无法删除编辑文本中的数字,我不想使用已弃用的方法。任何人都可以解决这个问题。提前致谢
最佳答案
这是一个使用软件键盘按钮“下一步”的简化解决方案:
final String NOT_ALLOWED_CHARS = "[^a-zA-Z0-9]+";
final EditText editText = (EditText) findViewById(R.id.editText);
editText.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override
public void afterTextChanged(Editable s) {
if (!TextUtils.isEmpty(s)) {
// remove the listener to avoid StackoverflowException
editText.removeTextChangedListener(this);
// replace not allowed characters with empty strings
editText.setText(s.toString().replaceAll(NOT_ALLOWED_CHARS, ""));
// setting selection moves the cursor at the end of string
editText.setSelection(editText.getText().length());
// add the listener to keep watching
editText.addTextChangedListener(this);
}
}
});
这里的正则表达式[^a-zA-Z0-9]+
对应于EditText
的android:digits
的允许值> 有问题。
关于android - 使用数字时,将 EditText imeOptions 设置为 actionNext 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45351481/
我有一个包含 8 个 TextInputLayout 字段的 ConstraintLayout,每个字段都在垂直方向(如垂直 LinearLayout)。每个在其 TextInputEditText
我想要一个 Multiline EditText 来允许 imeOptions="actionNext"。 这有效,但只允许单行输入 ... android:inputType="t
在布局 XML 中,可以指定 android:imeOptions="actionNext" 在虚拟键盘中添加 Next 按钮并单击它 - 焦点跳转到下一个字段。 如何以编程方式执行此操作 - 例如基
我正在使用 Material 设计中的 float 提示。我想将焦点从一个 EditText 转移到下一个,所以我在所有 editTexts 和 imeOptions="actionDone 中放置了
我的布局中有多个多行 EditText,其中 ImeOptions 设置为 ActionNext。但 android 键盘不显示下一步按钮。当我从 inputType 中删除 textMultiLin
我有 3 个垂直顺序的 EditText(页眉、主体、页脚)。中间的主要 EditText 必须处理长文本,而其他两个只是单行 EditText。 我希望主 EditText 具有“fling”/快速
代码: 在上面的代码中,当我没有指定 android:inputType="text""Next Button"不会出现在键盘上安卓操作系统:4.0.1 最佳答案 单行已弃用,因此需要输入类型添加下
我有一个相当复杂(不是真的)xml 布局文件。其中一个 View 是具有两个子项的 LinearLayout (v1):EditText(v2) 和另一个 LinearLayout(v3)。子 Lin
我有这个表格布局,其中包含 3 个 EditText 字段和一个执行计算的按钮。
这里是我的编辑文本:- 当我在 edittext 中删除 digit 时,它工作正常但 digit imeOptions 不起作用。但令人惊讶的是,如果我使用 singleLine 而不是
背景 假设您有多个 EditText 实例。 您希望能够使用键盘的下一个按钮(用作 ENTER 键的替代品)在它们之间切换。 每个 EditText 可能有很长的内容,可以显示在多行中(假设我希望将其
我试过了,只有删除android:inputType="phone" 键盘回车才能跳转到下一个EditText。我不知道 android:imeOptions="actionNext" 和 andro
我在 Android 上使用 React Native,我想像这里(ios 版本)一样使用“下一步”选项编辑一堆 TextInput: https://github.com/facebook/reac
这对我来说是一种令人困惑的行为,我找不到其他人完全有我的问题。 我正在尝试创建一个登录 Activity ,到目前为止,用户名字段给我带来了很多麻烦。无论如何,文本字段都会保持焦点。 如果我在外部单击
我是一名优秀的程序员,十分优秀!