作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在开发使用 Urdu Custom Keyboard 的应用程序,它工作正常,但问题是当我输入任何单词时,例如(سلام),光标在中间字符处不起作用,例如从单词的中间剪切/复制/粘贴或删除 (ا) 字符不起作用。我使用粗略的技术只是附加字符,但也可以正常工作。
用于录制任何字母
private void addText(View v) {
// String b = "";
// b = (String) v.getTag();
// urdu_word.setText(b);
if (isEdit == true) {
String b = "";
b = (String) v.getTag();
if (b != null) {
Log.i("buttonsOnclick", b);
// adding text in Edittext
mEt.append(b);
}
}
}
点击后退按钮
private void isBack(View v) {
if (isEdit == true) {
CharSequence cc = mEt.getText();
if (cc != null && cc.length() > 0) {
{
mEt.setText("");
mEt.append(cc.subSequence(0, cc.length() - 1));
}
}
}
}
我使用了很多来自 github 的库和代码,但没有捕获好主意
1) Keyboard-1
2) Keyboard-2
3) Keyboard-3
4) Keyboard-4
我从库中检查了所有这些键盘和更多键盘,有相同的光标问题,如何通过从中间删除字符来完全管理我的自定义键盘,并像使用 EditText 的普通键盘一样复制我的书面文本复制粘贴,在此先感谢大家: )
最佳答案
感谢上帝我用简单的逻辑解决了我的问题。
后退按钮
private void isBack(View v) {
// char[] tempChar = null;
if ((mEt.getText().toString().length() > 0)) {
int temp = mEt.getSelectionEnd() - 1;
if (temp >= 0) {
mEt.setText((mEt.getText().toString()
.substring(0, mEt.getSelectionEnd() - 1).concat(mEt
.getText()
.toString()
.substring(mEt.getSelectionEnd(),
mEt.getText().length()))));
mEt.setSelection(temp);
}
}
}
用于添加任意字符
private void addText(View v) {
int temp = mEt.getSelectionEnd();
if (temp >= 0) {
String b = "";
b = (String) v.getTag();
mEt.setText((mEt.getText().toString()
.substring(0, mEt.getSelectionEnd()) + b.concat(mEt
.getText().toString()
.substring(mEt.getSelectionEnd(), mEt.getText().length()))));
mEt.setSelection(temp + 1);
}
}
为了复制粘贴,我在 EditText 中添加了几行代码
<EditText
android:id="@+id/xEt"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@drawable/edittextshape"
android:ems="10"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="top"
android:imeOptions="actionDone"
android:padding="15dp"
android:singleLine="false"
android:visibility="visible" />
关于android - 在 Edittext 问题上弹出阿拉伯语/乌尔都语自定义键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32536337/
我是一名优秀的程序员,十分优秀!