程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> android-使用不同包通過setClassName不能啟動新的 intent

android-使用不同包通過setClassName不能啟動新的 intent

編輯:編程綜合問答
使用不同包通過setClassName不能啟動新的 intent

我想動態的啟動一個新的 intent,因此 setClassName 是一個很好的選擇。
首先,在Manifest中定義3個activity:

<activity android:name="com.example.pkg2.Act" />
<activity android:name="com.example.pkg1.Act1" />
<activity android:name="com.example.pkg1.Act2" />

com.example.pkg2.Act

Intent intent = new Intent();
if(index == 0) intent.setClassName(Act.this, "com.example.pkg1.Act1");
else intent.setClassName(Act.this, "com.example.pkg1.Act2");
startActivity(intent);

但是獲得下面的異常:

Unable to find explicit activity class {com.example.pkg2.Act/com.example.pkg1.Act1}; have you declared this activity in your AndroidManifest.xml?

好像只能使用 setClassName 來動態的啟動新的 Activity,還必須的在相同的包中。
如何處理這個問題?

最佳回答:


intent.setClassName(Act.this, Act1.class);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved