Search code examples
androidandroid-activityandroid-edittext

How to Save text in EditText after calling Activity in Android?


I have 2 Activity A and B, in Activity A I have 1 EditText and 1 Button. The Button is use for calling Activity B. I just wondering, when the user input some text in EditText in first time, then user calling Activity B, After that Back to Activity A (A > B > Then Back to A) can I still have user input Any Help is needed Thank you :D

Here my code for Activity A (CreateData is Activity 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());

    }
}

Solution

  • Override the onResume() method and inside this method set the value of name as text of EditText named edNama_sma.

    @Override
    public void onResume() {
    super.onResume();
    
        edNama_sma.setText(nama);
    
    }
    

    So, whole activity class should be look like

    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);
    
        }
    }