用退格键替换换行符到上一行

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,但是我不知道添加它是否能解决您的问题。