如何在点击按钮上将数据从第二个Activity传递到第一个?

时间:2015-07-07 10:00:22

标签: android listview android-intent

我想让应用程序与联系人应用程序非常相似。在第一个活动中,我想显示我的联系人列表,我已经完成了这个。第一个活动包括添加新按钮,在该按钮的单击中,我希望该用户输入名字和姓氏并上传相同的图像。我不知道如何在活动之间导航,以便我得到所需的答案。谁能帮帮我吗..?? 查看第一个活动:http://postimg.org/image/996iwj5dp/9c92bd46/ 和第二项活动:http://postimg.org/image/wuscpv1tx/fe6f13c4/

on second activity还有一个按钮,可以让用户从Gallery中选择一张图片,并作为第三个活动。我对从这些活动中获取数据感到困惑。

1 个答案:

答案 0 :(得分:0)

您需要在第一个活动中实现startActivityforResult()方法。 按照以下步骤执行操作:

1)单击First活动中的Add new按钮,而不是调用startActivity(),使用唯一的活动代码调用startActivityforResult(): 即:public static final int FIRST_ACTIVITY_CODE = 0;

在OnClickListener中,您需要实现

Intent m_data = (FirstActivity.this,SecondActivity.class);
m_data.putextra(//any extra data);
startActivityforResult(FIRST_ACTIVITY_CODE,data);

2)现在,当您从第二个活动添加了另一个用户并且想要将某些数据从SecondActivity传递到FirstActivity时,请按照以下步骤操作: 在保存数据后完成SecondActivity之前,

Intent m_data = getIntent();
m_data.putExtra(//data to pass in FirstActivty);
m_data.putExtra(//data to pass in FirstActivty);
.
.
.
setResult(RESULT_OK,m_data);
finish();

3)在FirstActivty的onActivtyResult()中,执行以下步骤:

@Override
    protected void onActivityResult(int p_requestCode, int p_resultCode, Intent p_data)
    {
        if(p_requestCode == FIRST_ACTIVITY_CODE && p_resultCode == RESULT_OK)
        {
            NewData = p_data.getExtras().get(//your data);
            // update data 
        }
        super.onActivityResult(p_requestCode, p_resultCode, p_data);
    }

希望这会对你有所帮助。