我正在创建一个游戏,所以当我按下开始按钮从(A1.class)开始,所以如果用户完成了这个任务,他将意图到(结果活动)有继续(下一个)按钮,如果他按下去( A2.class等...)当我重新启动应用程序并且用户按下开始按钮从A2或A3继续,并且结果活动中的下一个按钮同样的事情我不希望A1出现(或A2如果他在A3任务)
MainActivity
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//here I want to countiue the counting and not start from the first
// let say i'm at A2 i want to go to A3
Intent intent = new Intent(MainActivity.this , A1.class);
startActivity(intent);
}
});
ResultActivity
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//here I want to intent to the new activity A3,A4 etc...
}
});
}
开始按钮从我
继续下一个按钮意图进入下一个活动,我
答案 0 :(得分:0)
如果您知道自己的Activities
(例如他们的姓名),只要String
活动被调用,您就可以SharedPref
存储onDestroy()
(=用户退出应用)。这个String
会在它被销毁之前告诉你它是Activity
。
在应用启动(重新启动)上,检查您的SharedPrefs
并执行switch
语句,以确定Activites
中哪一个是最后一个。请先阅读SharedPrefs
,这样我就不会复制太多代码 - 所有内容都得到了很好的解释:
Reading and Saving items in SharedPrefs
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//here I want to countiue the counting and not start from the first
// let say i'm at A2 i want to go to A3
Intent intent;
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
// Here I get the activityName, which was stored onDestroy();
String activityName = sharedPref.getString("key", "defaultValue");
switch(activityName) {
case "A1":
intent = new Intent(MainActivity.this , A1.class);
startActivity(intent);
break;
case "A2":
intent = new Intent(MainActivity.this , A2.class);
startActivity(intent);
break;
}
}});
NextActivity
的另一种方法可能是您定义一个带有活动名称的String数组。
String[] activitiesArray = new String[numberOfActivites];
现在onDestroy()
您保存了哪些活动已被销毁,并且您知道Activity
中array
的索引,因此您还可以存储Index
Activity
在你的数组中1}}。
当您需要NextActivity
启动时,只需致电检索Index
的{{1}}并将其增加+ 1 ..这应该会为您提供Activity
。