android– 如何从首选项屏幕返回主要活动?

android– 如何从首选项屏幕返回主要活动?,第1张

概述我有一个主要活动和一个preferenceActivity.在我的第一个活动中,我调用menu并通过调用startActivityForResult继续使用preferenceActivity. case R.id.settings: startActivityForResult(new Inte

我有一个主要活动和一个preferenceActivity.在我的第一个活动中,我调用menu并通过调用startActivityForResult继续使用preferenceActivity.

                case R.ID.settings:                startActivityForResult(new Intent(this,SettingsActivity.class),LAUNCH_SETTINGS);                return true;

然后我更改我的设置并希望返回主要活动,并查看应用了新设置的主要活动.在onPause()方法中执行以下 *** 作(因为我正确理解当按下后退按钮时会调用此方法,对吧?)

   @OverrIDe     protected voID onPause() {         super.onPause();         setResult(RESulT_OK,new Intent(this,MainActivity.class));         finish();     }

关于主要活动

 protected voID onActivityResult(int requestCode,int resultCode,Intent data) {        if (requestCode == LAUNCH_SETTINGS) {            if (resultCode == RESulT_OK) {                new RefreshList().execute(ACTION_SELECT);                Log.d(TAG,"On activity result");            }        }    }

但是我的acyncTask没有调用并且没有打印日志.我怎么能正确地做到这一点?
谢谢!最佳答案

On my first activity I call menu and go on preferenceActivity by calling startActivityForResult.

将startActivityForResult()与PreferenceActivity一起使用是相当不寻常的. PreferenceActivity旨在与startActivity()一起使用.如果启动PreferenceActivity的人关心首选项更改,它应该使用SharedPreferences对象注册首选项更改侦听器.

Then I change my settings and want to return on main activity and see main activity with new settings applyed.

我建议您使用SharedPreferences.OnSharedPreferencechangelistener.或者,只需在原始活动的onStart()或onResume()方法中重新读取您关注的首选项.

In onPause() method do following (as I right understand this method will be called when I press back button,right?)

不,那不行. onPause()为时已晚,无法调用setResult(). 总结

以上是内存溢出为你收集整理的android – 如何从首选项屏幕返回主要活动?全部内容,希望文章能够帮你解决android – 如何从首选项屏幕返回主要活动?所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1140686.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存