Android 如何从父活动中的onActivityResult()更新片段视图

Android 如何从父活动中的onActivityResult()更新片段视图,android,broadcastreceiver,fragment,Android,Broadcastreceiver,Fragment,在我的活动中,我确实实现了onActivityResult: @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //do something } 我试图在该片段中实现onActivi

在我的活动中,我确实实现了onActivityResult:

@Override
        public void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            //do something

        }
我试图在该片段中实现onActivityResult:

@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 10020) {
            Log.e(TAG, "requestCode == 10020");
            tv1.setText(Html.fromHtml("You are currently on a <b>GOLD</b> plan. You can:"));
        }
        Log.e(TAG, "line 401");

    }
@覆盖
ActivityResult上的公共void(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
if(requestCode==10020){
Log.e(标记“requestCode==10020”);
tv1.setText(Html.fromHtml(“您目前有一个黄金计划,您可以:”);
}
Log.e(标签“第401行”);
}

和BroadcastReceive,当父活动中出现reach onActivityResult但两者都不起作用时,将调用该函数。我该怎么做?救救我

在片段中声明一个公共方法,该方法接收更新视图所需的所有信息(一些文本?)。在活动中创建片段时,保留对它的引用,以便可以调用该方法

活动 碎片
在片段中声明一个公共方法,该方法接收更新视图所需的所有信息(一些文本?)。在活动中创建片段时,保留对它的引用,以便可以调用该方法

活动 碎片
不要修改活动中的片段UI,而是告诉您的片段修改它,如
fragment.setTv1(Html.fromHtml(“您当前正在执行黄金计划。您可以:”)。请再次阅读我的问题,我错过了一个关于我的案例的信息:Dshow you
startActivityForResult()
,你在哪里做的?我使用startinentsenderforresult进行谷歌计费,我想在用户购买产品后更新视图。请显示代码,以及你在哪里调用它。这很重要。与其从活动中修改片段UI,不如告诉您的片段像
fragment.setTv1(Html.fromHtml(“您目前正处于黄金计划中。您可以:”)那样修改它。请再次阅读我的问题,我错过了一个关于我的案例的信息:Dshow you
startActivityForResult()
,你在哪里做的?我使用startinentsenderforresult进行谷歌计费,我想在用户购买产品后更新视图。请显示代码,以及你在哪里调用它。这很重要。我尝试了您的解决方案,我可以成功地记录方法updateText,但片段的视图仍然没有更新。我遗漏了什么吗(((TextView)view.findViewById(R.id.tv1_FragmentAccount)).setText(Html.fromHtml(“您目前有一个黄金计划,您可以:”)));不确定。您介意在活动和片段中发布相关代码吗?我尝试了您的解决方案,我可以成功地记录方法updateText,但片段的视图仍然没有更新。我是否遗漏了什么?:()((TextView)view.findviewbyd(R.id.tv1_FragmentAccount)).setText(Html.fromHtml(“您目前有黄金计划。您可以:”));不确定。您介意在活动和片段中发布相关代码吗?
MyFragment fragment;

oncreateView() {
    if(savedInstance == null) {
        fragment = // create fragment
        // getSupportFragmentManager() and add it to the activity 
    }
}

onActivityResult() {
    fragment.updateText(String text);
}
public class MyFragment {
    ...
    ...
    public void updateText(String text) {
        // update the textview with the new text
    }
}