Android, Как я могу загрузить длинный текст в активность?

1

У меня есть длинный текст, который я хочу показать ему по страницам. Для моей первой попытки я создал 10 действий и поместил некоторую кнопку, когда пользователь нажимает на нее, показывает следующее действие.

Я где-то читал, что могу загрузить весь текст в одном действии с помощью Intent. Является ли это возможным? Как это возможно? Я не хочу, чтобы пользователь просматривал страницу.

Спасибо

  • 0
    Можете ли вы дать более подробную информацию? Это оригинальный текст (который стоит вставить в strings.xml) или что-то, что вы хотите прочитать из файла?
  • 0
    Как вы знаете, если текст соответствует конкретным устройствам (разные точки на дюйм)?
Показать ещё 1 комментарий
Теги:
scroll
text
android-intent

4 ответа

1
Лучший ответ

Предположим, что у вас есть ваша деятельность под названием MyTextActivity, а затем в своем прослушивателе кнопок вы передаете текст, который хотите, в намерение вашей деятельности:

Intent i = new Intent(this, MyTextActivity.class);
i.putExtra("myText", "this is the text you want to display in the next page");
startActivity(i);

Затем в MyTextActivity вы поместите следующее в onCreate():

String textToDisplay = "";
Bundle extras = getIntent().getExtras();
if (extras != null){
   textToDisplay = extras.getString("myText");
}

тогда вы установите текст TextView в этот текст.

  • 1
    Еще одно улучшение состоит в том, чтобы ваши строки putExtra() в неком массиве или списке, а затем в вашей функции putExtra() вы просто передаете индекс элемента, который хотите отобразить. Поэтому, когда вы нажимаете «Далее», вы просто увеличиваете свой индекс (при условии, что вы делаете правильную проверку индекса). Таким образом, ваше изменение будет i.putExtra("myTextIndex", index) где index является целым числом. Затем, когда вы получите его, вы будете делать extra.getInt("myTextIndex")
  • 0
    он сказал, что хочет загрузить текст «оооооооооооооо», поэтому он должен сменить заголовок, это маленький текстовый пакет :),
0

Если текст статичен, вы можете поместить его в строковый ресурс и получить доступ к нему во всех ваших действиях. В противном случае вы можете привязать строку к намерению, используя putExtra.

0

Я думаю, что ответ "не делай этого". Android работает на разных устройствах, и вы должны обрабатывать случаи, когда он не будет соответствовать экрану, который соответствует устройству, которое вы используете для тестирования. Рассмотрим, например, планшеты.

0

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

  • 0
    Спасибо, это хорошее предложение, но у него есть проблема. Как я могу работать с экранами разных размеров?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню