Разница между 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");