возобновление той же активности по нажатию кнопки - PullRequest
2 голосов
/ 13 сентября 2011

Я делаю приложение для 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();
                }

Ответы [ 2 ]

3 голосов
/ 13 сентября 2011

Что вам нужно сделать - это передать всю информацию, которую вы хотите отобразить, в действие с намерением. Когда вы создаете свое намерение, вы «добавляете» дополнительную информацию в намерение.

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 голос
/ 13 сентября 2011

Вы должны использовать startActivityForResult().

...