java - 想要使用一个按钮作为 2 个单独的编辑文本的后退空间?
问题描述
我想使用一个按钮作为 2 个单独的编辑文本的退格键我的意思是当专注于(编辑文本)时,我可以使用它上面的按钮.....
我不能使用 if 语句(我是 android 开发的新手)
这是我的代码
bak.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et1.hasFocus()) {
}
String str = et1.getText().toString();
if (str.length() > 1) {
str = str.substring(0, str.length() - 1);
et1.setText(str);
} else if (str.length() <= 1) {
et1.setText("");
}
}
});
bak.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et2.hasFocus()){
}
String str2 = et2.getText().toString();
if (str2.length() > 1) {
str2 = str2.substring(0, str2.length() - 1);
et2.setText(str2);
} else if (str2.length() <= 1) {
et2.setText("");
}
}
});
但我另一个按钮的另一个代码工作正常(为什么?)
BT9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et2.hasFocus()) {
et2.append("9");
}
if (et1.hasFocus()) {
et1.append("9");
}
if (ans.hasFocus()) {
ans.append("9");
}
}
});
解决方案
您应该编写如下代码:
bak.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et1.hasFocus()) {
}
String str = et1.getText().toString();
if (str.length() > 1) {
str = str.substring(0, str.length() - 1);
et1.setText(str);
} else if (str.length() <= 1) {
et1.setText("");
}
////////////////////////////////////////////////////////////
if (et2.hasFocus()){
}
String str2 = et2.getText().toString();
if (str2.length() > 1) {
str2 = str2.substring(0, str2.length() - 1);
et2.setText(str2);
} else if (str2.length() <= 1) {
et2.setText("");
}
}
});