好的,标题不是一个标题,但不要评判我。我搜索了网站,还有很多其他的,但我似乎没有找到正确的答案。问题是这样的:
我创建了一个具有一个主要活动(活动 A)的 android 应用程序,它打开了另一个活动 B,我在其中放入了一些数据,该数据应传输回第一个活动,然后记录到数据库中。
我这样做:
在活动 A 中:
-我调用一个新的意图,然后调用startActivityForResult()
方法。
在第二个活动中,当我点击保存按钮时,它会被执行:
btnSave.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.putExtra("date", dateText.getText().toString());
i.putExtra("time", timeText.getText().toString());
i.putExtra("text", taskText.getText().toString());
setResult(100);
startActivity(i);
}
});
当我回到第一个活动(主要活动)时,此方法被调用。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode==100)
{
i = getIntent();
String text = i.getStringExtra("text");
String date = i.getStringExtra("date");
String time = i.getStringExtra("time");
Toast.makeText(this, text + "-" + date + "-" + time, Toast.LENGTH_LONG).show();
}
super.onActivityResult(requestCode, resultCode, data);
}
使用 toast 消息我只得到空值,这意味着数据没有从第二个活动传输回第一个活动。有人可以帮我吗,顺便说一句,数据应该保存到数据库中,但这是另一个问题,我只是提到它,以防它可能有助于以后不使事情复杂化。
先谢谢了