0

我有以下问题:我创建了自定义 Android 类CheckedTextView

public class CustomCheckedTextView extends CheckedTextView {
    public CustomCheckedTextView(Context context) {
        super(context);
                this.setOnClickListener (new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        ((CheckedTextView) v) .toggle();
                        if (isChecked()){
                            setBackgroundColor(Color.GREEN);
                        } else {
                            setBackgroundColor(Color.RED);
                        }
                        }

            }) ;
        }
}

并在主要活动中使用它,如下所示:

 LinearLayout llayout = (LinearLayout) findViewById(R.id.linearLayout1);
 final CustomCheckedTextView checkedTV = new CustomCheckedTextView(this);
 llayout.addView(checkedTV)

所以我可以点击CustomCheckedTextView,背景将是绿色。但是当我旋转手机背景时再次变成白色。为什么会发生?

4

2 回答 2

1

不要为此使用 configChanges。了解它发生的原因以及如何保存状态非常重要。请阅读有关此主题的文档

于 2013-12-27T16:57:39.350 回答
-1

将此添加到您的AndroidManifest.xml文件中

android:configChanges="orientation"
于 2013-06-24T08:46:34.710 回答