2012-03-07 2 views
0

Сам текст задается с помощью следующей строки:андроид редактировать текст обрезает длинный текст на устройстве, но не в эмуляторе

mtxtComment=(TextView) findViewById(R.id.textComment); 
mtxtComment.setText(Html.fromHtml(strTextComment), TextView.BufferType.SPANNABLE); 

mtxtComment является редактируемым TextView (EditText). Компоновка вполне обычно:

<EditText 
     android:id="@+id/textComment" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textSize="17dip" 
     android:paddingLeft="10px" 
     android:paddingRight="6px" 
     android:scrollbars="vertical" 
     android:editable = "false" 
     android:textColor = "@android:color/white"> 

Длина текста составляет около 77 КБ, из которых около 1/3 фактически отображаемых на экране. Эмулятор показывает все. Тексты короче, чем 20kb, отображаются на устройстве хорошо.

Первый скриншот - на устройстве, это в самом низу текста: First screenshot - on device, this is the very bottom of the text http://i40.tinypic.com/1zd0kt2.png

второй скриншот - эмулятор - это не дно, можно перейти к нижней: second screenshot - emulator - this is not the bottom, it is possible to scroll further to the bottom http://i41.tinypic.com/25ez2bk.png

Любые идеи о том, что происходит и как это можно исправить? Или, если вы не знаете точного ответа, но можете указать мне в правильном направлении, ответьте также.

ответ

0

Наконец я нашел решение:

Я добавил следующее atribute макету XML:

андроида: MAXLENGTH = "300000"

Вероятно, по умолчанию установлено значение 9000 для по какой-то причине, потому что мой длинный текст получил разрез такого размера. В следующем фрагменте кода txtComm объект имел MText свойство полной длины, но WordtoSpan была MText ограничена 9000:

 Spannable txtComm=(Spannable) Html.fromHtml(strTextComment); 

     mtxtComment.setText(txtComm, TextView.BufferType.SPANNABLE); 
     Spannable WordtoSpan = (Spannable) mtxtComment.getText(); 
Смежные вопросы