gpt4 book ai didi

android - 自定义 View 调用 startActivityForResult

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:35:58 25 4
gpt4 key购买 nike

我创建了自定义复合 View ,其中包含拍照功能。

我这样调用它(从 View 中):

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
((Activity)mContext).startActivityForResult(intent, index);

这部分效果很好。我不知道该怎么做的是如何在我的自定义 View 中实现 onActivityResult

或者我应该在 Activity 中捕获它,而不是重新路由到我的 View 中?看起来不是很好的解决方案..

最佳答案

你实际上可以这样做:

@Override
public void onClick(View v) {
final FragmentManager fm = ((FragmentActivity) getContext()).getSupportFragmentManager();
Fragment auxiliary = new Fragment() {
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
//DO WHATEVER YOU NEED
super.onActivityResult(requestCode, resultCode, data);
fm.beginTransaction().remove(this).commit();
}
};
fm.beginTransaction().add(auxiliary, "FRAGMENT_TAG").commit();
fm.executePendingTransactions();

auxiliary.startActivityForResult(new Intent(getContext(), ToStartActivity.class), 3333);
}

诀窍是使用辅助临时 fragment 。

关于android - 自定义 View 调用 startActivityForResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6586620/

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