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 に答える