我不想将意图从一个第一个活动发送到另一个。Android |意图| PutExtra在搜索方不起作用
第一个活动向第二个活动发送一个意图,以创建一个新的AlertDialog,从用户接收一个数字并将该数字发送回第一个活动 - 这是putExtra数据失败的地方(请继续阅读) :
第一活动的代码:GuessItActivity.java
Intent intent = new Intent(GuessItActivity.this,
AlertDialogMessage.class);
intent.addFlags(Intent.FILL_IN_DATA);
intent.addFlags(Intent.FILL_IN_CATEGORIES);
intent.addFlags(Intent.FILL_IN_ACTION);
intent.putExtra("data1", 15);
startActivityForResult(
intent,
getResources().getInteger(
R.integer.ALERT_DIALOG_MESSAGE));
在检索侧上,例如AlertDialogMessage.java
public void onClick(DialogInterface dialog,
int which) {
// "OK" button pressed
int userGuess = Integer.parseInt(input
.getText().toString());
Intent intent = getIntent();
if (intent == null)
return;
int data1 = intent.getIntExtra("data1", -1);
if (data1 != 15)
return; // data1 ==15
intent.putExtra("data2", 25);
if (getParent() == null) {
setResult(Activity.RESULT_OK, intent);
} else {
getParent().setResult(Activity.RESULT_OK,
intent);
}
finish();
第二活动侧
第一活动侧:回GuessItActivity.java
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == getResources().getInteger(
R.integer.ALERT_DIALOG_MESSAGE)) {
if (resultCode == RESULT_OK) {
Intent intent = getIntent();
if (intent==null)
return;
Bundle extra = getIntent().getExtras();
if (extra != null) {
int _data1 = extra.getInt("data1");
int _data2 = extra.getInt("data2");
}
// extra == null , what am I doing wrong ?
int data1 = intent.getIntExtra("data1",-1);
int data2 = intent.getIntExtra("data2",-1);
if ((data1==-1)&&(data1==-1))
return;
的问题是,我接收data1和data2的等于-1。
我想收到我在第二项活动中提供的数据。例如data1 == 15和data2 == 25
我做错了什么? 请帮助
小号
非常感谢,它工作! :) – TripleS 2012-04-13 11:15:55