如何在其他活动中更改textview的背景

时间:2017-04-12 07:00:42

标签: android

我有一个带有TextView和设置关闭按钮的设置活动。 我希望每个按钮都能更改其他活动中textview的背景。

我需要有关如何执行此操作的示例代码。

提前谢谢大家。

代码:

           btn.setOnClickListener( new
            View .OnClickListener () {
            public boolean stateChanged;
            public void onClick(View view) {
                if (stateChanged) {
          // reset background to default;

                    tv.setBackgroundResource
                     (R.drawable.favon);
                } else {
                    tv.setBackgroundResource
                    (R.drawable.favoff);

                }
                stateChanged = !stateChanged;

1 个答案:

答案 0 :(得分:0)

简而言之,您将从初始化开始。 使用get获取任何已保存的值,如果未找到任何内容,则使用默认值。 或使用editput存储数据。

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); 
sharedPreferences.getInt("key", defaultValue);
sharedPreferences.edit().putInt("key", value).apply()

More

编辑:

    final SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);

    // Set up how the background was before
    if (sharedPreferences.getBoolean("textViewBackground", true)) {
        // Default background
        tv.setBackgroundResource(R.drawable.favon);
    } else {
        // Other background
        tv.setBackgroundResource(R.drawable.favoff);
    }

    btn.setOnClickListener(new View.OnClickListener() {
        public boolean stateChanged;

        public void onClick(View view) {
            if (stateChanged) {
                // reset background to default;
                tv.setBackgroundResource(R.drawable.favon);
            } else {
                tv.setBackgroundResource(R.drawable.favoff);
            }
            stateChanged = !stateChanged;
            sharedPreferences.edit().putBoolean("textViewBackground", stateChanged).apply();
        }
    });