Android-мультиэкранное приложение - PullRequest
6 голосов
/ 07 апреля 2011

Как вы обрабатываете несколько экранов в приложении для Android?Я разработал панель вкладок внизу без проблем, однако я хочу заменить все содержимое на экране содержимым из нового XML-файла макета, который я создал в проекте.Кроме того, как мне связать внутренний код с новым файлом макета?Я уверен, что этот вопрос, вероятно, уже существует и является Googleable (возможно, придумал новое слово).Тем не менее, я не знаю точно, что именно я ищу.Заранее спасибо за помощь.

Ответы [ 4 ]

6 голосов
/ 07 апреля 2011

Что вам нужно сделать, это создать новое действие и добавить его в AndroidManifest.xml:

<activity android:name="ActivityClassName" android:label="Label for the Activity"></activity>

, и его можно вызвать методом:

public void startActivity() {
    Intent someName = new Intent(CurrentClass.this, ActivityClassName.class);
    startActivity(someName);
}
5 голосов
/ 07 апреля 2011

Это действительно зависит от того, как вы хотите, чтобы ваше приложение работало.

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

  1. Запускает ваше первое действие
  2. Нажимает 2-ю вкладку
  3. Нажимает 3-ю вкладку
  4. Нажимает кнопку возврата

Если вы используете отдельное действие для каждого экрана, тогда произойдет следующее

  1. Операция 1 запущена
  2. Операция 2 запущена
  3. Операция 3 запущена
  4. Операция 3 закрыта, пользователь возвращается к операции 2

(в этом случае при повторном нажатии кнопки «Назад» вы вернетесь к занятию 1, а при повторном нажатии это приведет к выходу из приложения)

Если вы использовали одно упражнение для всех вкладок,тогда произойдет следующее

  1. Действие 1 запущено
  2. Действие 1 устанавливает содержимое вкладки для содержимого вкладки 2
  3. Действие 1 устанавливает содержимое вкладки для содержимого вкладки 3
  4. Задание 1 закрыто, пользователь возвращается на home screen

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

Если вы хотите перейти к подходу с одним действием,затем проведите некоторое исследование по TabHost и TabContentFactory.В методе createTabContent вашей фабрики вы можете надуть View / layout из XML, чтобы установить в качестве содержимого вкладки, используя View.inflate.Посмотрите на них и вернитесь, задайте еще один вопрос, если вы застряли;)

5 голосов
/ 07 апреля 2011

Приложения Android обычно используют отдельные Activity для каждого экрана и переключаются между ними, используя Activity.startActivity и Activity.startActivityForResult .Вы можете передать произвольные данные в Activity через Intent.putExtra .

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

Фил Лелло

4 голосов
/ 07 апреля 2011

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

...