Вызывая деятельность, которая находится в банке - PullRequest
2 голосов
/ 30 апреля 2010

Я попытался вызвать другое действие из моей основной деятельности, которая находится в файле JAR.

Класс клац = Class.forName (getPackageName () + "." + getActivityName ()); startActivity (новый Намерение (это, клац));

Я делаю это так, потому что знаю только название класса. Это работает нормально, но, к сожалению, все файлы ресурсов не могут быть найдены при загрузке действия из файла JAR. При первом загрузке файла res появляется ResourceNotFoundException:

04-30 11: 18: 46.944: ОШИБКА / AndroidRuntime (1749): причина: android.content.res.Resources $ NotFoundException: Код ресурса # 0x7f040006

Есть намеки на это?

1 Ответ

3 голосов
/ 30 апреля 2010

Ваш JAR не может ссылаться на ресурсы.

Чтобы быть более конкретным:

  • Ваш JAR не может содержать ресурсы
  • Ваш Java-код в JAR не может использовать R.layout или R.id или R.drawable или любую из R. констант для ссылки на ресурсы

Вам нужно иметь все свои ресурсы в приложении, которое повторно использует JAR, а Java-код вашего JAR должен либо передавать в него идентификаторы ресурсов (например, через параметры метода), либо использовать getIdentifier(), чтобы узнать идентификатор ресурса во время выполнения из String представления имени.

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