我想了解如何将消息数据从1个活动发送到另一个活动并接收 onActivityResult
中的数据我不确定这是否正确,但希望你能以正确的方式向我展示。
Mainactivity 在按钮1上单击
Intent returnIntent = new Intent();
returnIntent.putExtra("demo1");
setResult(RESULT_OK,returnIntent);
按钮2上的点击
Intent returnIntent = new Intent();
returnIntent.putExtra("sarah22");
setResult(RESULT_OK,returnIntent);
Mainactivity2
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if ("demo1") {
Context context = getApplicationContext();
CharSequence text = "button1 demo1 received";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
if ("sarah22") {
Context context = getApplicationContext();
CharSequence text = "Button2 sarah22 received";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
}
}
答案 0 :(得分:0)
我只想再次澄清自己。我希望使用这样的东西:
Intent returnIntent = new Intent();
returnIntent.putExtra("demo1");
setResult(RESULT_OK,returnIntent);
或者
Intent intent = new Intent(MainActivity.this, New2.class);
intent.putExtra("demo1", "demo1");
startActivity(intent);
你看到demo1,你通常会在那里放一个请求代码,但是如何将它发送到activity2和他们的
活动2中的
if ("demo1") {
Context context = getApplicationContext();
CharSequence text = "button1 demo1 received";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
你看到 if(" demo1"){如果找到这个字符串然后显示toast
答案 1 :(得分:0)
你应该这样:
Intent intent = new Intent(getBaseContext(), Second.class);
intent.putExtra("ID", "I love stackoverflow");
startActivityForResult(intent)
在第二个活动中,您可以获取数据,
String id = intent.getStringExtra("ID");
用它做你想做的事。要返回第一个活动,请使用setResult(OK)并调用finish。
Intent returnIntent = new Intent();
setResult(RESULT_CANCELED, returnIntent);
finish();
在这种情况下,onActivityResult()的第一个活动将触发,你可以在那里处理返回的值。
来源: Using intents to pass data between activities in android
http://developer.android.com/training/basics/intents/result.html