我有一个由7页组成的应用程序,用户可以通过按钮浏览这7页。他可以使用移动设备的自己的按钮返回上一页。如上所述,如果我单击按钮,用户将转到下一页。此外,如果用户单击设备的“后退”按钮,它将返回上一个活动,并且所有输入的值保持不变。但是,我想要的是,如果用户进入下一个活动并且用户在该活动中的某些值之前输入,则这些值保留在那里。(现在不是空的)。我猜这是因为每次点击按钮,都会启动一项新活动。
有没有一种方法可以在不使用SharedPreferences,XML等的情况下实现这一目标......?
答案 0 :(得分:3)
按下背面时,默认情况下会破坏活动。保存数据的唯一方法是将其存储在SharedPreferences
的某处,以避免此活动遭到破坏,您可以在single instance
中将其设置为menifest
然后再按下此方法{{1现在,无论何时再次启动活动,它都不会重新创建自己。还删除了super.onBackPressed();该方法的方法。 (moveTaskToBack(true);
)
就像这样
onBackPressed()
答案 1 :(得分:1)
在开始另一个活动之前,您可以将键值对(如hashmaps)置于意图中,并且可以在要调用的活动中检索这些值。 您可以查看: -
Intent returnIntent = new Intent(getApplicationContext, SecondActivity.class);
returnIntent.putExtra("name","abc");
startActivity(returnIntent,11);
在你的其他活动结果方法中,你可以做到
if(requestCode == 11){
Bundle bundle = data.getExtras();
String name = bundle.getString("name");
}
你可以调查一下。
答案 2 :(得分:0)
你可以通过调用startActivityForResult()来启动下一个Activity来实现这一点......当你回到之前的活动时,你的数据将保留在屏幕上