繁体   English   中英

如何使用共享的首选项和切换方法进行自动保存?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM