[英]Best way to store application navigation for Android app?
因此,我的应用程序重用了许多活动。 最初,我只是在活动之间切换时向Intents添加了一条额外的“ fromClass”行。 现在的问题是,为了正确显示有关当前活动的信息,我需要知道我是从几个活动开始的。 我试图使用字符串数组列表存储顺序,并在倒退时将其从列表中删除,但是我无法将字符串转换为类名并正常工作。
在活动开始时,我将添加以下方式:
Global.appNavigation.add("SecondActivity.class")
当我调用onBackPressed()时,我正在这样做:
/* Remove Last Object (this class) */
Globals.appNavigation
.remove(Globals.appNavigation.size() - 1);
try {
Class<?> c = Class.forName(Globals.applicationNavigation
.get(Globals.appNavigation.size() - 1));
Activity obj = (Activity) c.newInstance();
Intent i = new Intent(mActivity, c);
startActivity(i);
finish();
} catch (ClassNotFoundException e) {
Log.e("Back", "Could not get a class name");
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我一直在收到ClassNotFoundException。 有一个更好的方法吗? 我正在使用的该应用程序越来越大,因此在这种情况下,不对活动调用finish()可能不起作用。
我最终调用了“ finish()”方法,但是在跟踪需要持久化的数据方面做得更好。
感谢Ben Von Handorf的建议(请参阅原始问题的评论1和3)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.