Новая активность требуется только для отображения нового экрана? - PullRequest
1 голос
/ 10 ноября 2011

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

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

Я хочу, чтобы функциональность кнопок Назад поддерживалась, и я знаю (я думаю!), Что она будет работать хорошо, если у меня будет новое действие для каждой категории.

Но , имеет ли активность для каждого из подкатегорий перебор?

Ответы [ 4 ]

3 голосов
/ 10 ноября 2011

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

Если пользовательский интерфейс всех этих категорий сильно отличается друг от друга, это может не сработать.

0 голосов
/ 20 января 2014

Лучше всего, если вы хотите повторно использовать одно и то же действие, это: 1) создать одно действие (например, HelpActivity) и создать его макет, такой как textview, button и т. Д., Но не устанавливать значение textview.

2) Для всех категорий в списке категорий HELP каждый раз вызывайте HelpActivity.

3) Проверяйте активность вызова с помощью этого кода: создайте интерфейс и объявите константу активности для всех операций отдельно, например:

открытый интерфейс ActivityConstants {

 public static final int callingACTIVITY1 = 1001;
 public static final int callingACTIVITY2 = 1002;
 public static final int callingACTIVITY3 = 1003;

} // затем идентифицируем вызывающую активность

int callActivity = getIntent (). GetIntExtra ("call-активность", 0);

    switch(callingActivity)
    {
    case ActivityConstants.callingACTIVITY1:

        // do your stuff here
                    // set textview value based on callingACTIVITY1  
        break;

и т. Д. ...

3) если вы хотите вернуться к вызову активности после того, как пользователь прочитал инструкции справки, тогда используйте super.onBackPressed ();// это вернет вас к вашей деятельности по вызову.

Надеюсь, это поможет вам.

0 голосов
/ 10 ноября 2011

Может быть, вы могли бы использовать диалог вместо действия для подкатегорий? Если нет, воспользуйтесь решением Сгармана. Создайте один «HelpActivity», в который вы передаете содержимое справки в качестве дополнения при запуске намерения.

0 голосов
/ 10 ноября 2011

Определенно излишнее, если только вы действительно не хотите аккуратную анимацию при изменении активности. FrameLayout твой друг.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...