[英]How to make autosave using shared preferences and switch method?
可以说,我们有变量var,用于存储活动的信息名称。 它是从共享首选项中获取的。 我想做某种自动保存。 最后启动的发送其名称的活动将共享首选项。 我现在不要做的事情是如何将活动名称从变量var放入buttonlastactivity中的switch方法中的intent中。 第一个按钮new转到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中的活动名称。
有什么建议么?
您可以将完全限定的类名保存在共享的首选项中并使用。
例如。 :如果将“ com.test.MyLastActivity”保存在SharedPreferences中,则可以这样做:
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);
}
我这样做是这样的:
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具有上次活动的全名时),该应用将返回到启动应用的活动,而不是名称写在变量var中的活动。 我想使用vvariable,因为它会根据用户退出应用程序之前的活动而变化。 变量从共享首选项中获取。 共享首选项会在活动开始时获得活动名称。 还是有其他方法可以进行某种自动保存,使用户可以转到上次访问的活动。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.