Metalloid66
Metalloid66

Reputation: 119

Sending data without having to start a new Activity

So basically my question is just explained in the title. How can I send data between activities without having to start that activity which receive the data. Here's my code: This is the main activity sending the data :

public class MainActivity extends Activity {

private EditText mainedit1;
private TextView maintext1;
private Button   mainadd1;
private Button   maindone1;
@Override

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
maindone1=(Button) findViewById(R.id.maindone);
mainedit1=(EditText)findViewById(R.id.mainedit1);
maintext1=(TextView)findViewById(R.id.maintext1);
mainadd1=(Button)findViewById(R.id.mainadd);

    mainadd1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

           String test1= mainedit1.getText().toString();
           Intent intent = new Intent(MainActivity.this,test.class);
           intent.putExtra("word",test1);
           startActivity(intent);
        }
    });

And this is the activity receiving the data :

public class test extends Activity {
TextView testtext;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.fortest);
    testtext=(TextView)findViewById(R.id.testtext);
    Intent intent = getIntent();
    String Word = intent.getStringExtra("word");
    testtext.setText(Word);
}

So what I did in here is to send the data but also starting the activity, and this is not what I want to share. Please show me how do I fix my code?

Upvotes: 0

Views: 82

Answers (2)

Pragati Singh
Pragati Singh

Reputation: 2523

You can use sharedprefrence of android following code you can implement In your MainActivity, just do the following to save the string:

getSharedPreferences("my_prefs", Context.MODE_PRIVATE).edit().putString("word", test1).commit();

Then when you're ready to retrieve it in your test activity, just do so like this:

String Word = getSharedPreferences("my_prefs", Context.MODE_PRIVATE).getString("word", null);
testtext.setText(Word);

                            OR 

Sending data without having to start a new Acitivity, by create static variable ex.

public class First_Activity extends Activity {
 public static String USER_FORMATED_NUMBER = null;

 USER_FORMATED_NUMBER="Data you want to pass"; 
}

public class Second_Activity extends Activity {
 String data=First_Activity.USER_FORMATED_NUMBER; 
}

Upvotes: 0

Cigogne  Eveillée
Cigogne Eveillée

Reputation: 2208

It seems you're just looking to save a string for later use. In your MainActivity, just do the following to save the string:

getSharedPreferences("my_prefs", Context.MODE_PRIVATE).edit().putString("word", test1).commit();

Then when you're ready to retrieve it in your test activity, just do so like this:

String Word = getSharedPreferences("my_prefs", Context.MODE_PRIVATE).getString("word", null);
testtext.setText(Word);

Upvotes: 2

Related Questions