Разница между setText () и append ()

Мне любопытно, какую разницу создают setText () и append (). Я'Я пишу очень простой редактор с номерами строк. У меня есть TextView для хранения номеров строк слева, в сочетании с EditText справа для хранения данных. Вот'с XML:


    
    

Не обращая внимания на некоторые другие вещи, которые яПри этом наиболее любопытной вещью, с которой я столкнулся, был дополнительный интервал, который обнаруживался, когда я использовал append () (при условии, что вещи были инициализированы и все такое).

Это ниже, в сочетании с XML, устанавливает границу между TextView и EditText.

theEditor = (EditText) findViewById(R.id.editor);
lineNumbers = (TextView) findViewById(R.id.line_numbers);
theLineCount = theEditor.getLineCount();
lineNumbers.setText(String.valueOf(theLineCount)+"\n");

Однако измените последнюю строку на эту, и внезапно каждая строка в TextView будет заполнена справа перед EditText.

lineNumbers.append(String.valueOf(theLineCount)+"\n");

Это'не конец света. но мне было любопытно, что было причиной такого поведения. Так как я'Я незнаком с языком, единственное, о чем я мог подумать, было, может быть, когда append добавляет туда Editable, он добавляет отступы. Если я смогу получить ответ, я заменю все эти неприятные строки более простыми добавлениями:

lineNumbers.setText(lineNumbers.getText().toString()+String.valueOf(newLineCount)+"\n");

Ответы на вопрос(5)

Ваш ответ на вопрос