萨拉姆
我刚刚开始研究android(初学者)。我陷入了活动状态的复杂性。我创建了两个活动(activity1和activity2)。我从activity1移动到2,然后使用按钮(活动后退)返回到activity1,不恢复视图的值(状态)。这是代码..
public class activity1 extends Activity implements OnClickListener {
String txt;
EditText etxt;
TextView tv;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
Toast.makeText(this, "onCreate() : " , Toast.LENGTH_LONG).show();
}
setContentView(R.layout.main);
Button btn_cont = (Button)findViewById(R.id.btn);
etxt = (EditText)findViewById(R.id.etxt);
tv = (TextView) findViewById(R.id.tv);
btn_cont.setOnClickListener(this);
tv = (TextView) findViewById(R.id.tv);
}
@Override
public void onClick(View click) {
txt = etxt.getText().toString();
Intent intent = new Intent(this, Activity2.class);
startActivity(intent);
tv.setText(txt);
}
public void onSaveInstanceState(Bundle sis){
sis.putString("ist arg", "sec arg");
Toast.makeText(this, "ActivitySaveIns", Toast.LENGTH_LONG).show();
super.onSaveInstanceState(sis);
}
}
public class Activity2 extends Activity implements OnClickListener{
Button btn_back;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.act2);
btn_back = (Button)findViewById(R.id.btn_back);
btn_back.setOnClickListener(this);
}
public void onClick(View v) {
Intent intent2 = new Intent(this,activity1.class);
startActivity(intent2);
}
}
答案 0 :(得分:0)
这是你的所作所为:
Activity1
Activity2
因此,在按下“后退”按钮后[你应该让硬件后退按钮完成工作!],你最终会得到三个活动。
如果你想保留一个这样的后退按钮,而不是创建一个新的实例,只需调用Activity1
,这将关闭当前的活动(并带你回到原来的活动)。