我正在创建一个用户需要添加信息的Android应用程序。我希望如果用户留下任何空白字段并单击该按钮,则应启动填充其他字段的相同活动。
我正在使用意图并且能够再次启动活动但是所有字段都被清空了。 我怎么能这样做。
由于
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.register);
Register=(ImageButton)findViewById(R.id.register);
Reset=(ImageButton)findViewById(R.id.reset);
firstName=(EditText)findViewById(R.id.firstName);
surName=(EditText)findViewById(R.id.surname);
email=(EditText)findViewById(R.id.eMAil);
password=(EditText)findViewById(R.id.passWord);
retypePassword=(EditText)findViewById(R.id.retypePassword);
town=(EditText)findViewById(R.id.town);
cellno=(EditText)findViewById(R.id.cellno);
dateOfBirth=(Button)findViewById(R.id.datepickerbutton);
Register.setOnClickListener(clickRegisterListener);
private OnClickListener clickRegisterListener = new OnClickListener() {
public void onClick(View v)
{
try{
FirstName=firstName.getText().toString();
SurName=surName.getText().toString();
sex.setOnItemSelectedListener(new MyOnItemSelectedListener());
Email=email.getText().toString();
Password=password.getText().toString();
RetypePassword=retypePassword.getText().toString();
Town=town.getText().toString();
Cellno=cellno.getText().toString();
if(FirstName.equals(""))
{
AlertDialog.Builder alertbox = new AlertDialog.Builder(Register.this);
alertbox.setMessage("First Name field can not be left empty!");
alertbox.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1)
{
Intent intent = new Intent(Register.this, Register.class);
// onSaveInstanceState(bundle);
startActivity(intent);
}
});
alertbox.show();
}
答案 0 :(得分:3)
您需要做的是将您想要显示的所有信息传递给具有意图的活动。当您创建意图时,您会在意图中“添加额外”信息。
Intent i = new Intent(this, OtherActivity.class);
i.putExtra("variableName", "variable value");
然后在活动中,您可以检索信息:
Bundle extras = this.getIntent().getExtras();
String var = extras.getString("variableName");
修改强>:
如果要在暂停时保存活动状态,则需要在onPause()方法中保存感兴趣的变量,然后在onResume()方法中恢复它们
答案 1 :(得分:1)
您应该使用startActivityForResult()
。