我有2个活动A和B,在活动A中我有1个EditText和1个Button。 Button用于调用Activity B.我只是想知道,当用户第一次在EditText中输入一些文本时,用户调用Activity B,之后返回Activity A(A> B>然后返回A)可以我还有用户输入需要任何帮助谢谢:D
这里我的活动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());
}
}
答案 0 :(得分:2)
启动其他活动时请勿调用完成。然后原始活动将保留在活动堆栈中,编辑文本中的数据仍将填充。 否则,您应该使用SharedPreferences存储离开活动时需要保留的任何临时数据。有时,如果设备旋转,它可以擦除输入视图的内容,在这种情况下,您需要使用SharedPreferences保存并重新加载它们。
http://developer.android.com/reference/android/content/SharedPreferences.html
答案 1 :(得分:0)
覆盖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);
}
}