3

Whenewer我要開始新的活動,我用這個代碼:Android的 - 啓動意圖問題

Intent myIntent1 = new Intent(this, Info1.class); 
startActivity(myIntent1); 

但是,這個情況下,我得到從字符串數組類的名字嗎?我嘗試過這樣的方法class.forName:

Intent intent = new Intent(this, Class.forName(array[1])); 
startActivity(intent); 

但是沒有成功。這是給我的錯誤

拋出java.lang.ClassNotFoundException的:信息1裝載機 dalvik.system.PathClassLoader

即使在第一種情況下它成功啓動的活動。我必須補充說,我是100%肯定數組[1]包含字符串「Info1」,並且我的包中有Info1.class。

你知道嗎,如何解決這個問題?

回答

3

的方法

Class.forName("xxxxx"); 

需要全名,這意味着你應該用包詳細信息(其中包中的類存在)

沿着有的名稱

作爲示例

Class.forName("com.mypackage.MyClass"); 

Documentation Reference here

1

嘗試以下操作:

Class clazz = Thread.currentThread().getContextClassLoader().findClass(array[1]); 
new Intent(this, clazz); 
1

您需要將完整的軟件包名稱添加到您的class.forName參數中,如ple而不是array [1]。