Android 如何在不刷新的情况下重新加载活动?
我切换到下一个屏幕,然后返回到原始屏幕,希望选择我停止的位置,保存和恢复数据。在活动1中:我有10多个按钮可以选择和取消选择按钮,如果转到下一个屏幕,如果我返回,它不应重新加载,它应显示我停止的位置Android 如何在不刷新的情况下重新加载活动?,android,Android,我切换到下一个屏幕,然后返回到原始屏幕,希望选择我停止的位置,保存和恢复数据。在活动1中:我有10多个按钮可以选择和取消选择按钮,如果转到下一个屏幕,如果我返回,它不应重新加载,它应显示我停止的位置 up1 = (Button) findViewById(R.id.adultup1); up1.setOnClickListener(new View.OnClickListener() { public void onClick(View view) {
up1 = (Button) findViewById(R.id.adultup1);
up1.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
if (upt1 == 0) {
up1.setBackgroundResource(R.drawable.adultup1);
upt1 = 1;
} else {
up1.setBackgroundResource(R.drawable.adultup1_pressed);
upt1 = 0;
}
}
});
在此处查看图像(并阅读文本):
如果您不需要重新加载状态,您应该考虑在每个活动状态下您在做什么
如果您这样做:
Activity1->startActivity(Activity2)->Activity2->Activity2.onBackPressed->Activity1
比,没有重新加载。从第二位返回到第一位时,您会被呼叫onResume
但如果你这样做了:
Activity1->startActivity(Activity2)->Activity2->startActivity(Activity1)->Activity1
然后,您需要将您的状态保存在某个外部类(静态类成员)中,并在onCreate
状态中从中加载Activity1状态。当app进程被终止,用户返回到中断的活动时,情况也是一样的(如图所示) 如果您只需在Activity2上使用
finish()
返回Activity1,则不会调用onCreate
,只调用onResume
存储按钮状态
public static int _state = -1;
onCreate(Bundle savedInstanceState){
if(_state == -1){
_state = 0;
// this is first time we're using "_state" variable, so do init
} else {
// this is second or later, so just load state variable and setup UI
}
}
什么的样本代码?我认为,您需要了解如何在每个确切的活动案例Activity1->startActivity(Activity2)->Activity2->Activity2.onBackPressed->Activity1中处理活动生命周期。在这里,我如何将状态存储在静态类中再次读取,在这种情况下,状态被保存,而不是被创建时的
覆盖,所以你不需要把它存储在课堂上。活动2:意图=新意图(seek.this,MainScreen.class);星触觉(意向);这里我得到了一个新的。@user828948试图创建一些示例代码,它可用于存储一个状态,您必须修改它以满足您的需要