我有2个Activity A和B,在Activity A中有1个EditText和1个Button,Button是用来调用Activity B的。我只是想知道,当用户第一次在EditText中输入一些文本,然后用户调用活动B,之后回到活动A(A > B > Then Back to A),我是否仍然可以有用户输入。
下面是我的活动A(CreateData是活动A)的代码
public class CreateData extends Activity implements OnClickListener{
private Button buttonAdd;
private EditText edNama_sma;
private String nama;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.create_data);
edNama_sma = (EditText) findViewById(R.id.nama_sma);
buttonAdd = (Button) findViewById(R.id.buttom_add_koordinat);
buttonAdd.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
nama = edNama_sma.getText().toString().toUpperCase().trim();
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.buttom_add_koordinat:
Intent c = new Intent(this, ActivityB.class);
startActivity(c);
finish();
}
}
@Override
public void onResume() {
super.onResume();
edNama_sma.setText(edNama_sma.getText());
}
}
覆盖 onResume()
方法,并在该方法中设置 name
作为文本 EditText
名为 edNama_sma
.
@Override
public void onResume() {
super.onResume();
edNama_sma.setText(nama);
}
所以,整个活动课应该是这样的
public class CreateData extends Activity implements OnClickListener{
private Button buttonAdd;
private EditText edNama_sma;
private String nama;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.create_data);
edNama_sma = (EditText) findViewById(R.id.nama_sma);
buttonAdd = (Button) findViewById(R.id.buttom_add_koordinat);
buttonAdd.setOnClickListener(this);
}
@Override
public void onClick(View v)
{
nama = edNama_sma.getText().toString().toUpperCase().trim();
// TODO Auto-generated method stub
switch(v.getId())
{
case R.id.buttom_add_koordinat:
Intent c = new Intent(this, ActivityB.class);
startActivity(c);
}
}
@Override
public void onResume() {
super.onResume();
edNama_sma.setText(nama);
}
}
当你开始另一个活动时,不要调用finish,这样的话,原来的活动会留在活动堆栈中,编辑文本中的数据仍然会被填充。那么原来的活动将留在活动堆栈中,编辑文本中的数据仍然会被填充.否则你应该使用SharedPreferences来存储任何你需要在离开活动时保留的临时数据。有时,如果设备旋转,它可能会擦掉输入视图的内容,在这种情况下,你需要使用SharedPreferences保存并重新加载它们。
http:/developer.android.comreferenceandroidcontentSharedPreferences.html。