如何将数据从Child Activity发送到android中的Parent Activity?

时间:2015-04-15 11:22:00

标签: android

在我的manifest.xml中,我使用android:parentActivityName来设置父Activity。 这是我的代码:

<activity
            android:name=".B"
            android:label="@string/title_activity_A"
            android:parentActivityName=".A" >
        </activity>

那么,当在操作栏中单击后退按钮时,如何将数据从B放到A. 因为我的A活动是另一个活动(C活动)的子活动和使用此活动数据的活动(C活动)... 有人可以帮帮我吗?谢谢,抱歉,因为我的英语。

2 个答案:

答案 0 :(得分:1)

在您的活动B类中写:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    // Respond to the action bar's Up/Home button
    case android.R.id.home:
        Intent intent= new Intent();
        intent.putExtra("param", "value");
        setResult(RESULT_OK, intent);
        finish();
        return true;
    }
    return super.onOptionsItemSelected(item);
}

在活动A类中添加:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == RESULT_OK && requestCode == 2404) {
        if(data != null) {
            String value = data.getStringExtra("param");
        }
    }
}

使用startActivityForResult方法

启动活动B.
Intent intent = new Intent(A.this.getApplicationContext(), B.class);
startActivityForResult(intent, 2404);

答案 1 :(得分:0)

您必须覆盖操作栏后退按钮点击事件&amp;使用Intent解析和数据将数据设置为父活动在 onActivityResult()方法中处理父活动。