我试图做的是这样的:用户在编辑文本中输入文本。示例:“ab”,然后当他输入一个像'
if (s.length() > 0 && s.toString().charAt(s.length() - 1) == '<') { //ab<
character = s.toString().charAt(s.length() - 2); //keep b
current_string = s.toString().substring(0, (s.length() - 2)); //a
et.setText(current_string); //set a
next_character_to_integer = (int) character + 1; //b is 98 ascii, need 99
integer_to_character = (char) next_character_to_integer; // 99 = char c
et.setText(s + String.valueOf(integer_to_character)); //set a+c
length = s.length();
et.setSelection(length); //move cursor after c
}
但这给了“abqc”!!!我可能足够接近,但仍然找不到解决方案。有什么想法吗?多谢
当您拨打电话时:
et.setText(s + String.valueOf(integer_to_character)); //set a+c
您正在使用尚未更新的 s
的原始值。将行更改为:
et.setText(current_string + String.valueOf(integer_to_character)); //set a+c
看看你得到了什么。
试试这个:
if (s.length() > 0 && s.toString().charAt(s.length() - 1) == '<') {
character = s.toString().charAt(s.length() - 2);
current_string = s.toString().substring(0, (s.length() - 2));
character += 1;
et.setText(current_string + character);
length = et.getText().toString().length();
et.setSelection(length);
}
这应该有效。
长话短说,我正面临这个问题:我将一个textwatcher附加到一个edittext上。一旦“1”是上面写的最后一个字符,就应该用字母“a”替换它。但这里有一个问题:我想只要“a”也是edittext上写的最后一个字符(用户按下“a”),除了通过前面的方法,还有一些事情要做。但是当我测试它并输入“1”时,它通常会被转换为“a ”,我提到的事情也完成了。我似乎无法找到一种方法来超越这一点,可以给一些
我必须取编辑文本的值并将其除以1.21....错误在哪里 错误:
我有一个程序,其中有一个editText。我想实现TextWatcher以反映总editText中的更改。当编辑框达到最大字符数限制10时,我想显示警告对话框。当我实现文本观察程序时,它可以工作,但当它达到10个字符时,它显示两个警告框。这是我的密码
问题内容: 在互联网上浏览后,我来了。 假设我已经制作了一个文本文件,内容为: 好吧,我想从此文本文件中删除最后一个字符(在本例中为)。 因此,现在文本文件应如下所示: 但是我不知道该怎么做。 我所需要的或多或少是对HDD上文本文件的单个退格功能。 这需要在Linux上工作,因为这就是我正在使用的。 问题答案: 用于从末尾寻找1个位置,然后用于删除文件的其余部分: 这对于单字节编码工作正常。如果您
嘿,我有这行代码 我所做的是,当我按下一个按钮时,这个输入的值会改变,会加上1,比如1,然后2,等等。 但我想知道的是我如何得到这个输入的最后一个值,例如,如果我按下五次按钮,我如何在javascript或使用jquery中得到数字5。 我在找一些信息,但什么也找不到。 谢谢。
问题内容: 以下代码段发出编译时错误。 第二行的错误是: 该错误消息基于NetBeans IDE。 如下声明该字符时。 编译时错误消失。 与最终字符串的情况无关 什么是修改有所作为吗? 问题答案: 原因是JLS#5.2(分配转换)如此表示: 如果该表达式是类型为byte,short,char或int的常量表达式(第15.28节),则当变量的类型为byte,short或char且常量表达式的值时,可