用退格键替换换行符到上一行
Replace newline with backspace to previous line
我的应用程序中有一个名为 Chocolate 的复选框。当它被选中时,它会打印 "Chocolate added!\n"。但是,当我在选中后取消选中它,并将其替换为“”(无字符串)时,它会被替换为新的一行。而没有。每个 check/uncheck 上的行数都在增加。
所以我的问题是如何用退格键替换整个字符串?这样应该在同一行上打印下一项而不是巧克力。
public void onCheck(View checkView) {
String checkMessage = "";
boolean checked = ((CheckBox) checkView).isChecked();
checkMessage += "\n";
switch (checkView.getId()) {
case R.id.chocolate:
if (checked) {
checkMessage += "Chocolate added.\n";
}
else {
checkMessage = checkMessage.replaceAll("Chocolate added.\n", "");
}
break;
}
checkMessage += "\n";
...
请删除两个 checkMessage += "\n";
。因为它没有用
您的问题是以下行:checkMessage += "\n";
从您的代码来看,这似乎是向字符串 checkMessage 添加换行符,而不管复选框是否被选中。由于您似乎有两个,因此每 check/uncheck 行数将增加 2。因此,除非对它们有用,否则删除它们将阻止行数增加。
或者,为了直接回答您的问题,退格的 java 转义序列是 \b,但是我不知道添加它是否能解决您的问题。
我的应用程序中有一个名为 Chocolate 的复选框。当它被选中时,它会打印 "Chocolate added!\n"。但是,当我在选中后取消选中它,并将其替换为“”(无字符串)时,它会被替换为新的一行。而没有。每个 check/uncheck 上的行数都在增加。 所以我的问题是如何用退格键替换整个字符串?这样应该在同一行上打印下一项而不是巧克力。
public void onCheck(View checkView) {
String checkMessage = "";
boolean checked = ((CheckBox) checkView).isChecked();
checkMessage += "\n";
switch (checkView.getId()) {
case R.id.chocolate:
if (checked) {
checkMessage += "Chocolate added.\n";
}
else {
checkMessage = checkMessage.replaceAll("Chocolate added.\n", "");
}
break;
}
checkMessage += "\n";
...
请删除两个 checkMessage += "\n";
。因为它没有用
您的问题是以下行:checkMessage += "\n"; 从您的代码来看,这似乎是向字符串 checkMessage 添加换行符,而不管复选框是否被选中。由于您似乎有两个,因此每 check/uncheck 行数将增加 2。因此,除非对它们有用,否则删除它们将阻止行数增加。
或者,为了直接回答您的问题,退格的 java 转义序列是 \b,但是我不知道添加它是否能解决您的问题。