정보를 사용자에게 표시하는 데 사용하는 EditText보기가 있습니다. 나는 문자열을 추가 할 수이고 다음과 같은 방법으로 올바르게 작동 :서식있는 텍스트를 EditText보기에 추가하십시오.
public void PrintToUser(String text){
MAIN_DISPLAY.append("\n"+text);
}
응용 프로그램은 사용자가 내가 RED의 문자열을 표시하고자하는 싸움을 할 때, 전투가있는 RPG 게임이다. 그래서 SpannableString을 사용하려고 시도했습니다. (방법 변경)
public void PrintToUser(String text, int Colour){
if(Colour == 0){
//Normal(Black) Text is appended
MAIN_DISPLAY.append("\n"+text);
}else{
//Colour text needs to be set.
//Take the CurrentText
String CurrentText = MAIN_DISPLAY.getText().toString();
CurrentText = CurrentText+"\n";
SpannableString SpannableText = new SpannableString(CurrentText + text);
switch(Colour){
case 1:
SpannableText.setSpan(new ForegroundColorSpan(Color.RED), CurrentText.length(), SpannableText.length(), 0);
break;
}
//You cannot append the Spannable text (if you do you lose the colour)
MAIN_DISPLAY.setText(SpannableText, BufferType.SPANNABLE);
}
이 새로운 방법이 작동하고 새 줄이 빨간색으로 표시됩니다. 포맷
문제
만 마지막 줄은 빨간색입니다. 새 줄을 빨간색으로 설정하면 이전 서식이 텍스트를 검색하는 방식으로 인해 손실됩니다.
String CurrentText = MAIN_DISPLAY.getText(); toString();
것은 난 단지 사용자가 최고입니다 볼의 setText 사용할 때 이제 글고 상자의 아래쪽 (마지막 입력)를 표시 한 글고 치기에 문자열을 추가되었을 때.
마지막으로 내 질문 :
는 형식의 텍스트를 추가하는 방법이 있나요?
또는 ... EditText에서 서식있는 텍스트를 가져온 다음 .setText를 사용할 때 현재 서식을 유지할 수 있습니까?
만약 그렇다면 ... 상단에 대항하여 하단에 초점을 맞추는 방법이 있습니까?
감사합니다. 추가 정보가 필요한 경우 의견을 남겨주세요. 지금 당분간 붙어 있습니다.
감사합니다. 제가 일하는 것을 완벽하게 찾고 있었기 때문에, 당신이 대답을 알게되면 항상 아주 단순 해 보입니다! - 다시 한번 감사드립니다. –