четверг, 28 апреля 2011 г.

Запуск одного Activity из другого

Для того что бы в android приложении запустить одно Activity из другого(например для навигации по интерфейсу приложения) нужно воспользоваться механизмом межпроцессной коммуникации.  Для передачи данных между процессами служит объект класса Intent. Для запроса activity, описанного в объекте класса Intent, служат методы startActivity и startActivityForResult.
Существует несколько конструкторов для создания объекта Intent. Если говорить про запуск Activity для решения задач навигации по интерфейсу(собственных интерфейсов), то можно использовать конструктор вида

 public Intent (Context packageContext, Class<?> cls)

с жестким заданием имени класса. Так же для запуска activity понадобится описать в файле AndroidManifest.xml вызываемую activity.

<activity android:name="com.example.MyExampleActivity"
android:label="@string/app_name" />

И запустить activity вызовом метода startActivity.

Код на Java для запроса activity может быть записать так:

this.startActivity(
    new Intent(this, com.example.MyExampleActivity.class)
);

На clojure запуск одной Activity из другой будет таким:

(.startActivity this (Intent. this com.example.MyExampleActivity)

this - текущая activity

Комментариев нет:

Отправить комментарий