我有一个主要活动和一个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 – 如何从首选项屏幕返回主要活动?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)