我正在使用以下代码开始我的活动
public void onClick(View v) {
Intent myIntent = new Intent(v.getContext(), AddReceipt.class);
startActivityForResult(myIntent, RECEIPT_ADDED);
}
现在我想从addreceipt类获取数组或从我的子活动获取数据
public synchronized void onActivityResult(final int requestCode, int resultCode, final Intent data) {
if (resultCode == Activity.RESULT_OK)
{
if (requestCode == RECEIPT_ADDED)
{
String abc = "abs";
}
}
}
调用此函数时,它返回数据为null,结果代码为0.如何从我的子活动中获取数据。
BesT问候
答案 0 :(得分:1)
要从子活动中获取结果,您需要在子活动中调用setResult()方法,将结果代码和可能的任意数量的数据传递到Intent
对象中。然后,您可以在主要活动的Intent
中抓住此onActivityResult()
。希望这会有所帮助。
答案 1 :(得分:0)
要将数据从子活动传递到父活动,请使用以下代码:
Intent intent= childActivity.getIntent();
intent.putExtra("key","value");
childActivity.setResult(Activity.RESULT_OK, intent);
childActivity.finish();
如果value是对象列表,则使用Serializable。
现在,如果您按下后退按钮,将调用父类的onActivityResult
方法,您将获得RESULT_CANCEL
。