在我的Android应用程序中,当用户退出首选项屏幕时,需要根据更新的首选项更新ui。有没有简单的方法呢?
编辑: 偏好活动:
public class Settings extends PreferenceActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
}
}
并且在应用程序中,需要将TextView更改为其中一个首选项字符串。
答案 0 :(得分:0)
无论UI何时需要更新,都应从SharedPreferences获取这些值。更改首选项时,只需更新共享首选项值,然后在返回视图(onResume()
)时更新视图(通过从共享首选项中再次获取值)。
答案 1 :(得分:0)
在要更新的活动中实现OnSharedPreferenceChangeListener,并在方法onSharedPreferenceChanged(...)中包含您要执行的代码
答案 2 :(得分:0)
我认为这很容易 从您从事任何活动开始此活动,您应该使用
开始startActivityForResult(<Your intent>, MY_PREFERENCE);
现在您可以覆盖onActivityResult
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
Log.d("VideoListActivity.onActivityResult ", "Opening");
switch(requestCode)
{
case MY_PREFERENCE:
switch(resultCode)
{
case RESULT_OK:
// do your stuff
break;
case RESULT_CANCELED:
// do your stuff
break;
default:
break;
}
break;
default:
break;
}
Log.d("VideoListActivity.onActivityResult ", "Closing");
super.onActivityResult(requestCode, resultCode, data);
}
并记住,当您的孩子活动完成工作时,您必须使用此
设置结果 Intent intent = new Intent();
intent.putExtra("isUpdated", true);
setResult(RESULT_OK, intent);