2017-02-18 45 views
0

我有點卡在這一個,它不是太複雜,但它讓我捱打! 我想要做的是恢復用戶的會話,獲取最後一個活動的名稱,然後將其傳遞給意圖。
我被卡住的地方在於將檢索到的字符串轉換爲類名,因此resumeIntent可以使用它。將字符串值轉換爲Java類名稱

public void Resume (View view){ 
    SharedPreferences sharedPref =    
    PreferenceManager.getDefaultSharedPreferences(MainActivity.this); 
    String resumeName = sharedPref.getString("ActivityName", null); 
    //probably need to do something here// 
    Intent resumeIntent = new Intent (this, resumeName); 
    startActivity(resumeIntent);} 
+2

你嘗試過'新的意圖(這,Class.forName(resumeName))'? – Panther

+0

Thankyou非常,它完美的作品:) –

回答

3

嘗試::

Intent resumeIntent = new Intent (this, Class.forName(getPackageName() + resumeName); 
startActivity(resumeIntent); 

UPDATE

String resumeName = YourActivityName.class.getCanonicalName(); 
try { 
    Class newClass = Class.forName(resumeName); 
    Intent resume = new Intent(this, newClass); 
    startActivity(resume); 
} catch (ClassNotFoundException e) { 
    e.printStackTrace(); 
} 

Store中字符串變量活動的規範名稱。

+0

Thankyou,這是有幫助的。 –

+0

更不用說了。如果這有助於解決您的問題,請將其標記爲已接受的答案。 – Bayou