Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – onActivityResult在Activity启动时被调用,而不是在它完成时调用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我用一些标签写了一个FragmentActivity.当我用startActivityForResult调用一个额外的活动(我用它来设置用户首选项)时(如果它在FragmentActivity或ListFragment中没有差异),当我启动这个首选项活动时,会调用onActivityResult方法,但是当我完成它时,不会调用我期待它(如果它在FragmentActivity或ListFragment中没有差异).在完成首选项活动后,此方法根本不会被调用.

我的问题是,我想在完成首选项活动后刷新当前选项卡(并设置上次使用的选项卡ID),我希望能够在onActivityResult方法中执行此操作.

这是创建首选项活动的类:

public abstract class ListFragmentBase<I> extends ListFragment implements
LoaderCall@R_801_11442@ks<List<I>> {

这是将我转发到此类中的首选项活动的方法

protected void forWARDToPreferences(int currentTab){            
        Intent intent = new Intent(getActivity(),GlobalPreferencesActivity.class);
        getActivity().startActivityForResult(intent,10);
}

这是在调用上面的方法之后调用方法,而不是在我完成被调用的活动之后调用方法

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

这是偏好活动:

public class GlobalPreferencesActivity extends Activity {

在那个课程中你会看到我如何调用finish方法

TextView confirmSetTings = (TextView) view.findViewById(R.id.confirm_setTings);
confirmSetTings.setTextSize(PreferenceHelper.getSizeHeader(getApplicationContext()));
    confirmSetTings.findViewById(R.id.confirm_setTings).setOnClickListener(new View.onClickListener() {
        @Override
        public void onClick(View view) {    
            if(BaseFragmentActivity.lastActivity != null){
                BaseFragmentActivity.lastActivity.onrefreshData();
        }
            ComponentName callingActivity = getCallingActivity();
            GlobalPreferencesActivity.this.finish();
        }
    });

解决方法

大佬总结

以上是大佬教程为你收集整理的android – onActivityResult在Activity启动时被调用,而不是在它完成时调用全部内容,希望文章能够帮你解决android – onActivityResult在Activity启动时被调用,而不是在它完成时调用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。