андроид активность в банке библиотеки - PullRequest
0 голосов
/ 09 января 2012

Я скопировал класс активности из Интернета: получить пользовательский ввод

Когда у меня был класс активности внутри проекта, как файл класса - он работал нормально.

Когда я вставил файл макета class + в другой проект (мой файл dialogs.jar), я не смог запустить упражнение.

Активность (TextEntryActivity) находится в разделе "com.xyz.dialogs" Мой проект находится под "com.xyz.thisproject"

Сначала я получил сообщение об ошибке "класс активности не найден": «AndroidRuntime (487): android.content.ActivityNotFoundException: невозможно найти явный класс активности ...»

Затем я прочитал в статье, что я должен вставить startActivityForResult в try / catch, и я сделал это.

Результат:

  1. Активность не отображается
  2. onActivityResult запускается без каких-либо действий со стороны пользователя

Примечания:

  1. Я поместил действие в обоих манифестах (сначала только в jar, затем в моем проекте, затем в обоих)
  2. У меня есть другой класс (не активность!) В этом файле JAR, и он работает нормально (диалог только для ОК, который я строю с помощью построителя диалогов)

Мои вопросы:

  1. Можно ли вообще поместить деятельность во внешнюю библиотеку?
  2. Это нормально, что файл макета находится в банке (это только текстовое поле с двумя командами ok / cancel)
  3. Где я должен объявить деятельность (которая проявляется или обе?)
  4. Как мне объявить активность (я видел образцы с «ActivityName» и некоторые другие образцы с «.ActivityName», где мне использовать какой метод ...)

Заранее спасибо Guy

1 Ответ

2 голосов
/ 09 января 2012

У меня есть по крайней мере обходной путь: создайте проект библиотеки Eclipse с вашей активностью (в свойствах Android проекта Android есть свойство is-library) и заставьте ваш второй проект использовать проект библиотеки.Вот дополнительная информация по этой теме: http://developer.android.com/guide/developing/projects/projects-eclipse.html

Затем создайте подкласс своей деятельности и объявите подкласс в манифесте.Это решает проблему с пакетом.

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