Android - 在设置退出时运行自定义代码

时间:2013-09-09 15:36:28

标签: android

在我的Android应用程序中,当用户退出首选项屏幕时,需要根据更新的首选项更新ui。有没有简单的方法呢?

编辑: 偏好活动:

public class Settings extends PreferenceActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.prefs);
    }
}

并且在应用程序中,需要将TextView更改为其中一个首选项字符串。

3 个答案:

答案 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);