我正在编辑用户配置文件活动,
其中我必须在编辑文本中
输入用户的身高,如(5'6)(5'11)(英尺英寸)等。现在,当我在编辑文本中
输入第一个字符时,一个撇号'
会自动添加到编辑文本
的第二个位置(在文本更改
上)。
问题是,当我试图擦除字符时,它不会在第一个位置之后擦除,因为当< code>EditText长度为1时,它会在第二个位置添加一个< code>'。
我该如何解决这个问题?请与我分享任何解决方案。
对不起我的英语不好
edtUserHeight.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
public void onTextChanged(CharSequence s, int start, int before, int count) {
int len=edtUserHeight.getText().toString().length();
if(len==1)
{
edtUserHeight.setText(edtUserHeight.getText()+"'");
edtUserHeight.setSelection(edtUserHeight.getText().length());
}
else{
}
}
});
我相信你在找这样一张支票:
if (before == 1 && s.length() == start) {
return; // allows delete
}
这将允许您在操作中执行传递。因此,您的代码如下所示:
public void onTextChanged(CharSequence s, int start, int before, int count) {
String height = edtUserHeight.getText().toString();
if(height.length() == 1) {
edtUserHeight.setText(height + "'");
}
if (before == 1 && s.length() == start) {
return; // allows delete
}else{
edtUserHeight.setSelection(height.length());
}
}
有关before和start参数含义的更多信息,请查看以下答案。
我希望用户可以列出他的爱好。我不知道这张单子有多长。所以我有一个线性布局,里面有一个编辑文本,还有一个按钮,他可以在线性布局中添加一个编辑文本,但我不喜欢用户每次想添加一个霍比时都必须单击按钮,所以我希望当用户在上一个编辑文本中写下一些东西时,添加一个新的编辑文本。我的问题是,我现在不知道如何跟踪编辑文本何时不再为空,要添加另一个编辑文本 要添加编辑文本,我有以下功能: 我的想法是,我想在etar
我想在警报对话框中添加两个编辑文本字段。虽然这个解决方案听起来很简单,但到目前为止,我还没有找到一个可行的解决方案。我无法同时设置两个(编辑文本)视图。 如果你想看更多的代码,请发表评论。 我希望第一个编辑文本出现在lot之后,第二个出现在quantity之后,而当我尝试在两个视图中推入时,它们中只有一个似乎在工作。 UPDATE:事实证明,实际上没有一种方法可以在不为警报对话框创建布局的情况下单
我正在android studio中使用java开发和应用程序,希望在RecyclerView函数中编辑文本。我该怎么做?
我有一个编辑文本框,我有调用ontouchlistener,它显示一个自定义对话框,当我单击setdate按钮时,日期选择器上的日期应该设置在编辑文本上,并且对话框应该得到Dississe。但是我不知道如何从日期选择器中获取日期,以及如何在编辑文本框中设置。我在date.init(year,monthOfYear,dayOfMonth,new MyOnDateChangedListener())中
我有一个包含两个组件的UI--一个JEditorPane和一个JComboBox。我的目标是能够在JEditorPane中键入一些内容,选择文本的一部分,并且当它仍然被选中时,在可编辑的JComboBox中键入和/或选择一个值。 这是一个文本编辑器类型的程序,我想在其中只更改编辑器窗格中选定文本的字体大小。字体大小来自“可编辑”组合框。为了澄清一下,我不是在问如何对文本应用样式,我是在问如何在组合
我开发了一个应用程序,我在其中反复使用同一个textview,所以我需要经常清除textview。 由于它与UI相关,我必须在UI线程上执行此任务,但仅清除textview就需要5-6毫秒,我想这似乎非常巨大。有谁能帮助我减少这个时间,这样我就可以非常顺利地管理我的UI任务,而不跳过任何帧? 我正在附上我的代码段以供参考,在这里我尝试了两种方法,但最短的时间是5毫秒。 有什么改进绩效的建议或替代方