无需开始新的发送数据 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;
}
所以基本上我的问题只是在标题中解释了。如何在活动之间发送数据而不必启动接收数据的 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;
}