我的应用程序中有一个名为Chocolate的复选框。选中后,将显示“添加了巧克力!\ n”。但是,当我检查后取消选中它,并用“”(无字符串)替换它时,它将在新行上替换。而没有。每次检查/取消检查时,行数持续增加。 所以我的问题是如何用退格键替换整个字符串?这样一来,应该在同一行上打印下一个项目而不是“巧克力”。
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";
...
答案 0 :(得分:1)
请同时删除两个checkMessage += "\n";
。因为没有用
答案 1 :(得分:0)
您的问题是以下行:checkMessage + =“ \ n”; 从您的代码看来,无论是否选中此复选框,都要在字符串checkMessage中添加换行符。由于您似乎有两个,因此每次检查/取消选中时,行数都会增加2。因此,除非有它们的用途,否则删除它们将阻止行的增加。
或者,要直接回答您的问题,退格的Java转义序列为\ b,但是我不知道是否添加该代码可以解决您的问题。