2016-08-24 1 views
0

私はメインアクティビティにシンプルなフォームを持っています。フォームを送信すると、アクティビティ2が開始されます。戻るボタンをクリックしてメインアクティビティに戻ると、すべての回答をクリアしたいと思います。メインアクティビティの以前の回答をクリアします

答えて

0

あなたはこの

@Override 
public void onBackPressed() { 

    Intent intent = new Intent(Activity2.this, MainActivity.class); 
    startActivity(intent); 

} 
+0

このコードでは、タスクスタックにもっと多くのアクティビティが追加されますが、これはアプリケーションに必要な動作ではないと思います。 –

+0

よりもお仕事です!! :) – JAY123

0
のような活動2)あなたの主な活動にonResume()を上書きし、あなたがonBackPressedを(上書きすることができます

@Override 
public void onResume() { 

    editText.setText(""); 

} 

または

のようにそこに対応するEditTextsをクリアすることができ

idを任意のウィジェットに割り当て、アクティビティまたはフラグメントを停止すると、任意のウィジェットが保存されるようにonSaveStateが呼び出されます実際の値を表示し、そのアクティビティに戻ったときに表示します。あなたが戻ってあなたがそれを手動で行う必要があるでしょう、他の活動から来たときに

だから、あなたのEditTextをクリーンアップするために、私はあなたが私にはないのアクティビティのライフサイクル

0

に応じonRestart機能でそれを行うことをお勧めエレガントな解決策を知っているが、それは作品べき:

public class MainActivity extends AppCompatActivity { 
    private boolean secondActivityLaunched; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       secondActivityLaunched = true; 
       startActivity(new Intent(MainActivity.this, SecondActivity.class)); 
      } 
     }); 
    } 


    @Override 
    protected void onStart() { 
     super.onStart(); 
     if (secondActivityLaunched) { 
      secondActivityLaunched = false; 
      clearForm(); 
     } 
    } 
} 
0

第一の活動:MainActivity.java

package com.test.activitytest; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 

public class MainActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    EditText name=(EditText) findViewById(R.id.name); 
    EditText email=(EditText) findViewById(R.id.email); 
    EditText phone=(EditText) findViewById(R.id.phone); 
    Button submit = (Button)findViewById(R.id.button); 
    submit.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent it=new Intent(MainActivity.this,Activity2.class); 
      it.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
      startActivity(it); 
      finish(); 

     } 
    }); 

    } 
} 

第二の活動:Activity2.java

package com.test.activitytest; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

public class Activity2 extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_2); 
} 

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 

    Intent it=new Intent(Activity2.this,MainActivity.class); 
    it.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(it); 
    finish(); 

    } 
} 
関連する問題