代码之家  ›  专栏  ›  技术社区  ›  Yuri

如何使用onSaveInstanceState保存按钮?

  •  0
  • Yuri  · 技术社区  · 4 年前

    以下是我的代码的简短版本:

    我需要保存按钮视图以更改方向,我正在尝试使用putParcelable()。

     @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Button button = findViewById(R.id.button);
    
        }
    
        @Override
            protected void onSaveInstanceState(@NonNull Bundle outState) {
                super.onSaveInstanceState(outState);
        
                outState.putParcelable("button", (Parcelable) button);
            }
    

    但我总是得到:

    java.lang.ClassCastException: androidx.appcompat.widget.AppCompatButton cannot be cast to android.os.Parcelable
    

    你能就最佳实践提出建议吗?是否可以使用onSaveInstanceState存储视图?

    0 回复  |  直到 4 年前