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

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

    ...


料青山看我应如是
浏览 132回答 2
2回答

阿波罗的战车

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

回首忆惘然

您的问题是以下行: checkMessage += "\n"; 从您的代码来看,这似乎是向字符串 checkMessage 添加换行符,而不管复选框是否被选中。由于您似乎有两个,因此每次检查/取消检查时行数将增加 2。因此,除非对它们有用,否则删除它们将阻止行数增加。或者,要直接回答您的问题,退格键的 java 转义序列是 \b,但是我不知道添加它是否可以解决您的问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java