无需开始新的发送数据 Activity

Sending data without having to start a new Activity

所以基本上我的问题只是在标题中解释了。如何在活动之间发送数据而不必启动接收数据的 activity。这是我的代码:这是主要的 activity 发送数据:

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

这是接收数据的 activity :

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

所以我在这里所做的是发送数据,同时启动 activity,这不是我想要分享的。请告诉我如何修复我的代码?

您似乎只是想保存一个字符串供以后使用。在您的 MainActivity 中,只需执行以下操作来保存字符串:

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

然后当您准备好在测试中检索它时 activity,只需这样做:

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

您可以使用 android 的 sharedprefrence 下面的代码您可以实现 在您的 MainActivity 中,只需执行 以下操作即可保存字符串:

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

然后当您准备好在测试中检索它时 activity,只需这样做:

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

                            OR 

通过创建静态变量无需启动新的 Acitivity 即可发送数据 例如

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