Java 启动意图找不到活动
我的程序有一个选项卡列表,每个选项卡都包含一个人员列表。单击某人应编辑其详细信息,但单击某人会引发ActivityNotFoundException。启动编辑活动的我的代码:Java 启动意图找不到活动,java,android,android-activity,Java,Android,Android Activity,我的程序有一个选项卡列表,每个选项卡都包含一个人员列表。单击某人应编辑其详细信息,但单击某人会引发ActivityNotFoundException。启动编辑活动的我的代码: Intent intent = new Intent("my.package.EDIT"); // Person is both intent.putExtra("my.package.PERSON", (Parcelable) myPerson); // Parcelable and Gr
Intent intent = new Intent("my.package.EDIT"); // Person is both
intent.putExtra("my.package.PERSON", (Parcelable) myPerson); // Parcelable and
GroupArrayAdapter.this.getContext().startActivity(intent); // Serializable
AndroidManifest.xml的相关部分:
<activity android:name="EditActivity">
<intent-filter>
<action android:name="my.package.EDIT" />
</intent-filter>
</activity>
发生了什么事?有两种方式启动活动,显式或隐式。显式表示直接使用类名;通常,如果您正在调用自己的应用程序中的某个活动,您要使用的是显式方法,因为它更容易:
Intent intent = new Intent(context, EditActivity.class);
context.startActivity(intent);
然而,如果您真的打算使用隐式过滤,那么您的意图过滤缺少一些东西。每个隐式意图过滤器都需要categoryandroid.intent.category.DEFAULT
(很少有例外)。试试这个,看看它是否有效:
<activity android:name="EditActivity">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="my.package.EDIT" />
</intent-filter>
</activity>
实例化适配器时,从调用活动传递上下文。然后在适配器中使用context.startActivity(…) 你为什么不这么做呢?开始触觉(意图)?你能发布日志吗?嗯,这正好是一个监听器。在这里,logcat中没有什么有用的东西。我在ArrayAdapter中使用OnClickListener,而不是在我的ListActivity中使用onListItemClicked(),因为从ListActivity很难找到myPerson。