ActivityNotFoundException неожиданно - PullRequest
       0

ActivityNotFoundException неожиданно

0 голосов
/ 24 августа 2011

Я получаю эту ошибку в своем одном действии, и это не имеет смысла, потому что я могу перейти к действию Calendar из другого действия, поэтому я знаю, что правильно объявил ее в манифесте

<activity android:name=".Calendar" android:label="Calendar"/>

Назначение в диалоге выбора

Intent ok = new Intent(Events.this,Calendar.class);
ok.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(ok); //ActivityNotFoundException
finish();

Я могу от активности A к Calendar просто отлично, тогда действие Calendar имеет доступ к моей Events активности, но я не могу выйти из своейEvents к активности Calendar ??

Идеи, почему это так?

РЕДАКТИРОВАТЬ: обновление с ошибкой

08-24 12:53:46.951: ERROR/AndroidRuntime(3045): FATAL EXCEPTION: main
08-24 12:53:46.951: ERROR/AndroidRuntime(3045): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.app.notifyme/java.util.Calendar}; have you declared this activity in your AndroidManifest.xml?
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.app.Activity.startActivityForResult(Activity.java:2827)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.app.Activity.startActivity(Activity.java:2933)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at com.app.notifyme.Events$12.onClick(Events.java:318)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:873)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.widget.AdapterView.performItemClick(AdapterView.java:284)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.widget.ListView.performItemClick(ListView.java:3513)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:1849)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.os.Handler.handleCallback(Handler.java:587)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.os.Handler.dispatchMessage(Handler.java:92)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.os.Looper.loop(Looper.java:123)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at android.app.ActivityThread.main(ActivityThread.java:3839)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at java.lang.reflect.Method.invokeNative(Native Method)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at java.lang.reflect.Method.invoke(Method.java:507)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
08-24 12:53:46.951: ERROR/AndroidRuntime(3045):     at dalvik.system.NativeStart.main(Native Method)

Ответы [ 2 ]

1 голос
/ 24 августа 2011

Импортируйте правильный пакет. Я полагаю, вы импортируете что-то вроде java.util.Calendar в свой Events класс.

Если по какой-то причине вам нужны оба класса Calendar (тот, который вы написали, и один java.util), вы должны указать полный путь ... например:

Intent ok = new Intent(Events.this, your.pkg.example.Calendar.class);
0 голосов
/ 24 августа 2011

Когда вы звоните finish(), система фактически удаляет действие из стека.

Это не позволяет вам вернуться к этому действию.

Я предлагаю вам внимательно прочитать Документация по жизненному циклу деятельности .

Это должно помочь вам разобраться в вашей проблеме.:)

РЕДАКТИРОВАТЬ:

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

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

Если вам нужно передать данные между действиями, используйте статический класс / переменную в отдельном классе или передайте его с помощью Intent.putExtra().

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