【发布时间】:2013-08-20 08:28:11
【问题描述】:
假设我有两个Activity(在同一个包下):
HomeActivity(启动器活动)
SpinnerActivity
他们都在AndroidManifest.xml注册。
现在我尝试创建一个方法来实现活动跳转:
private void redirectToActivity(String dest) {
Intent intent = new Intent();
intent.setClassName(this,dest);
startActivity(intent);
}
我在HomeActivity中调用它:
redirectToActivity("SpinnerActivity");
但是我收到了这个错误:
无法找到明确的活动类 {com.app/SpinnerActivity}; 您是否在 AndroidManifest.xml 中声明了此活动?
我尝试添加这一行:
intent.setPackage("com.app");
它不起作用。
有什么问题?
【问题讨论】:
-
也许你可以使用类变量而不是使用字符串?
-
你能发布你的清单文件吗?如果清单中的活动名称是“.SpinnerActivity”,请尝试使用以下命令开始:redirectToActivity(".SpinnerActivity");
-
查看将
intent.setClassName(this,dest);更改为intent.setClassName(getApplicationContext(), dest);是否有效。 -
@Yume117:我必须使用字符串,因为我通过用户通过 ListView 选择来获取活动名称。
-
@nbe_42:是的,在manifest中是“.SpinnerActivity”,我已经改成
redirectToActivity(".SpinnerActivity")了,还是一样的错误。
标签: android