gpt4 book ai didi

java - onActivityResult(重新)调用

转载 作者:行者123 更新时间:2023-12-01 11:58:25 28 4
gpt4 key购买 nike

我有以下情况:

家长 Activity :

ParentActivityClass
{
private Intent intent;

@Override
public void onCreate(Bundle savedInstanceState)
{
.....

intent = new Intent(this, ChildActivity.class);
startActivityForResult(intent, 202);

button.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
startActivity(intent);
}
});
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
super.onActivityResult(requestCode, resultCode, data);

Log.d("Log", "OK");
}

child Activity

 button.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
finish();
}
});

@Override
public void finish()
{
Intent intent = new Intent();

intent.putExtra("extra", ".....");

setResult(RESULT_OK, intent);

super.finish();
}

当调用子activity的finish()方法时,父activity中会调用onActivityResult。当子 Activity 第二次打开时,不会调用 onActivityResult。

哪里错了?

最佳答案

我看到的问题是您在 View.OnClickListener 中调用 startActivity(intent) 而不是 startActivityForResult(intent, 202)

编辑:我假设您将通过按钮转到 ChildActivity。

希望有帮助;)最好的问候

关于java - onActivityResult(重新)调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28176945/

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