Java 按下后退按钮时活动未发送结果

Java 按下后退按钮时活动未发送结果,java,android,eclipse,Java,Android,Eclipse,我正在使用以下代码开始我的活动 public void onClick(View v) { Intent myIntent = new Intent(v.getContext(), AddReceipt.class); startActivityForResult(myIntent, RECEIPT_ADDED); } 现在我想从AddReceivement类获取数组,或者从我的子活动获取数据 publ

我正在使用以下代码开始我的活动

public void onClick(View v) {

                Intent myIntent = new Intent(v.getContext(), AddReceipt.class);

                startActivityForResult(myIntent, RECEIPT_ADDED);
            }
现在我想从AddReceivement类获取数组,或者从我的子活动获取数据

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。如何从我的子活动中获取数据


致以最诚挚的问候

要从子活动中获得结果,您需要在子活动中调用该方法,并在
Intent
对象中传递结果代码和可能的任何数据量。然后,您可以在主要活动的
onActivityResult()
中捕获此
Intent
。希望这有帮助。

要将数据从子活动传递到父活动,请使用以下代码:

Intent intent= childActivity.getIntent();
intent.putExtra("key","value");  
childActivity.setResult(Activity.RESULT_OK, intent);
childActivity.finish();
如果值是对象列表,请使用Serializable


现在,如果您按下后退按钮,
onActivityResult
父类的方法将被调用,您将得到
RESULT\u CANCEL

您是否也查看了:请发布您的AddReceipt类或调用Activity.setResult()的位置。谢谢fyr。成功了。但我如何才能将我的arraylist添加到该intent值中。putextra没有ArrayList的类型您必须将其设置为
putextra(字符串名称,可序列化值)
,因为ArrayList正在实现
Serializable
接口