让我们说,我们有变量var,它存储信息abaut名称的活动。它从共享偏好中获取。我想做一些自动保存。已启动的上一个活动将其名称发送为共享首选项。我现在不知道的是,如何在buttonlastactivity中将变量var中的活动名称放入switch方法中。第一个buttonnew转到第一个actbegin活动。
示例:
public void onClick(View view) {
Intent intent;
switch (view.getId()) {
case R.id.buttonnew:
intent = new Intent(actmenu.this, actbegin.class);
startActivity(intent);
break;
case R.id.buttonlastactivity:
intent = new Intent(actmenu.this, ??????.class);
startActivity(intent);
break;
问题是,用什么来代替问号来取名存储在变量var中的活动。
有什么建议吗?
答案 0 :(得分:0)
您可以将完全限定的类名保存在共享首选项中并使用它 例如。 :如果在SharedPreferences中保存“com.test.MyLastActivity”, 然后你可以这样做:
try {
Class<?> lastActivity = Class.forName("com.test.MyLastActivity");
Intent intent = new Intent(this, lastActivity);
startActivity(intent);
} catch (ClassNotFoundException e) {
Log.e("TAG", "Couldn't find class", e);
}
答案 1 :(得分:0)
我是这样做的:
public void onClick(View view) {
Intent intent;
switch (view.getId()) {
case R.id.buttonnew:
intent = new Intent(actmenu.this,actbegin.class);
startActivity(intent);
break;
case R.id.buttonlastactivity:
try
{
Class<?> lastActivity = Class.forName(var);
intent = new Intent(actmenu.this, lastActivity);
startActivity(intent);
break;
}
catch (ClassNotFoundException e)
{
Log.e("TAG", "Couldn't find class", e);
}
}
}
并且它不会出错,但是在应用程序启动后和按下buttonlastactivity后(当变量var具有上一个活动的全名时),应用程序将返回到启动应用程序的活动,而不是返回名称写入变量的活动变种。我想使用vvariable,因为在退出应用程序之前,它会根据用户的活动而发生变化。变量从共享首选项中获取。共享首选项在活动开始时获取活动的名称。或者是否有其他方法可以进行某种自动保存,这将允许用户转到上次访问过的活动。