我正在製作一個Android應用程序,通過藍牙從arduino到android接收不同級別的電壓並將其轉換爲字母。我的應用程序已經可以將它翻譯成字母,現在我的問題是我不知道如何刪除在for循環內的字符串構建器中的最後一個字母..我有這個按鈕稱爲退格鍵,我希望它可以使用相同的功能就像在計算機的退格鍵中按下它將刪除最後一封信一樣。我希望有人能幫助我,但我仍然對此很陌生。如何製作一個退格按鈕,刪除for循環內的一個stringbuilder的最後一個字符
注意:這些代碼來自主要活動; sbletter是追加信
boolean test = false;
char[] charArray = sbletter.toString().toCharArray();
char currentletter =' ';
char prevletter =' ';
StringBuilder strBuild1 = new StringBuilder();
for(int i = 0; i < charArray.length; i++) {
currentletter = charArray[i];
if(curletter != prevletter) {
strBuild1.append(charArray[i]);
if(test){
strBuild1.deleteCharAt(strBuild1.length()-1);
}
test = false;
}
prevletter = currentletter;
}
SecondActivity.textView1.setText(strBuild1.toString());
SecondActivity.backspace.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
test = true;
}
});
使用「\ B」退格鍵 –
只是把循環後刪除... – njzk2
我試圖把循環之後的刪除,它仍然無法正常工作..我猜想其中一個問題是我使用deleteCharAt()的方式,因爲我從這裏讀到「http://stackoverflow.com/questions/5212928/how-to-trim-a-java-stringbuilder」那個deleteCharAt方法每次都複製數組,所以我認爲這就是爲什麼它不工作的原因..我希望有人可以提供另一種方法,如果這確實是 – user3242773