gpt4 book ai didi

安卓。当子 Activity 完成时,在父 Activity 中执行一些操作

转载 作者:太空狗 更新时间:2023-10-29 16:35:24 27 4
gpt4 key购买 nike

例如,我有主要 Activity 。我打电话的地方:

Intent callchild = new Intent(this, childActivity.class);
startActivity(callchild);

然后我想在 child 完成后在主要 Activity 中做一些事情。我该怎么做?

最佳答案

您可以使用 startActivityForResult() 而不是 startActivity()。当 childActivity 完成时,将调用父级的 onActivityResult()

注意:您必须覆盖父 Activity 的 onActivityResult()

你也可以通过setResult()根据Child Activity中执行的操作设置一些提示,这应该在ChildActivity调用finish()之前完成或者onDestroy()

示例

来自ParentActivity

button1.setOnClickListener(new OnClickListener() {  
@Override
public void onClick(View arg0) {
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivityForResult(intent, 2);// Activity is started with requestCode 2
}
});

在子 Activity 中

                    Intent intent=new Intent();  
intent.putExtra("MESSAGE",message);
setResult(2,intent);
finish();//finishing activity

在父 Activity 中

 // Call Back method  to get the Message form other Activity  
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
// check if the request code is same as what is passed here it is 2
if(requestCode==2)
{
String message=data.getStringExtra("MESSAGE");
textView1.setText(message);
}
}

关于安卓。当子 Activity 完成时,在父 Activity 中执行一些操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30273366/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com