我想将我的“结果”数据从我的第一个(主要)活动转移到 我的Custaddress活动,其中包含客户详细信息的编辑文本,然后将其发送到电子邮件。电子邮件/编辑文本完美无缺 - 但我想 将“result.toString”添加到电子邮件正文字符串中。如何将“结果”转移到第二个活动?我相信它与arg有关吗? 这是我第一次活动的代码..
DecimalFormat decimalFormat = new DecimalFormat(COMMA_SEPERATED);
result.append("\nTotal: £"+decimalFormat.format(totalamount));
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(MainActivity.this);
alertDialogBuilder.setMessage(result.toString());
alertDialogBuilder.setTitle("YOUR ORDER");
alertDialogBuilder.setPositiveButton("Accept",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
//do what you want to do if user clicks ok
//Intent intent = new Intent(context, Custaddress.class);
// startActivity(intent);
Intent custaddress = new Intent(getApplicationContext(),com.example.frytest.Custaddress.class);
startActivity(custaddress);
}
});
alertDialogBuilder.setNegativeButton("Decline",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//do what you want to do if user clicks cancel.
}
});
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
答案 0 :(得分:1)
将其写入传递数据的活动
Intent custaddress = new Intent(getApplicationContext(),com.example.frytest.Custaddress.class);
custaddress.putExtra("key",value);
startActivity(custaddress);
在捕获数据的活动中写下以下代码
Intent intent=getIntent();
String mString=intent.getStringExtra("key");
希望这会对你有所帮助
答案 1 :(得分:0)
你应该使用意图(click here):
Intent intent = new Intent(getBaseContext(), CustAdrresActivity.class);
intent.putExtra("text", mytext);
startActivity(intent);
答案 2 :(得分:0)
您只需更换行:
Intent custaddress = new Intent(getApplicationContext(),com.example.frytest.Custaddress.class);
startActivity(custaddress);
这三行:
Intent custaddress = new Intent(getApplicationContext(),com.example.frytest.Custaddress.class);
custaddress.putExtra("result", result.toString());
startActivity(custaddress);
然后,当您打开新活动(在您的情况下为Custaddress活动)时,您应该执行以下操作以获取result
Bundle extras = getIntent().getExtras();
if (extras != null) {
String value = extras.getString("result");
}
答案 3 :(得分:0)
您应该在您在startActivity(intent)方法中传递的Intent对象中添加Extra。 实施例
String value = "String i want to send to next activity"
Intent intent = new Intent(getApplicationContext(),com.example.frytest.Custaddress.class);
intent.putExtra("KEY", value);
startActivity(intent);
在Custaddress.java Activity类中,您需要从onCreate(Bundle bundle)方法中获取的Bundle对象中获取数据
Bundle extras = getIntent().getExtras();
if (extras != null) {
// get data via the key
String valueFromPreviousActivity = extras.getString("KEY");
if(valueFromPreviousActivity != null){
// do something with the data
}
}
答案 4 :(得分:0)
查看此官方文档Starting Another Activity。
答案 5 :(得分:0)
通过以下代码,我们可以在活动之间发送值
在父活动中使用以下代码
Intent myintent=new Intent(Info.this, GraphDiag.class).putExtra("<StringName>", value);
startActivity(myintent);
在儿童活动中使用以下代码
String s= getIntent().getStringExtra(<StringName>);