将换行符替换为上一行的退格键

时间:2019-07-02 19:27:12

标签: java android android-checkbox

我的应用程序中有一个名为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";
    ...

2 个答案:

答案 0 :(得分:1)

请同时删除两个checkMessage += "\n";。因为没有用

答案 1 :(得分:0)

您的问题是以下行:checkMessage + =“ \ n”; 从您的代码看来,无论是否选中此复选框,都要在字符串checkMessage中添加换行符。由于您似乎有两个,因此每次检查/取消选中时,行数都会增加2。因此,除非有它们的用途,否则删除它们将阻止行的增加。

或者,要直接回答您的问题,退格的Java转义序列为\ b,但是我不知道是否添加该代码可以解决您的问题。