Android 如何在屏幕上保持imageButton即时状态

Android 如何在屏幕上保持imageButton即时状态,android,android-fragments,android-imagebutton,Android,Android Fragments,Android Imagebutton,我有一个imageButton,我在上面加了一个颜色(用户从颜色选择器中指定的任何颜色)。。。在我旋转屏幕之前,效果非常好。然后,当我尝试更改colorFilter时,imageButton为空。如何保留imageButton实例?它不是可包裹的,也不是可序列化的。。。所以onSaveInstanceState不起作用 我的理解是,当屏幕旋转时,片段会重新加载所有内容,因此imageButton不应为空 好的-我有一些澄清 我有一个主要活动,使用ViewPager和FragmentPagerAd

我有一个imageButton,我在上面加了一个颜色(用户从颜色选择器中指定的任何颜色)。。。在我旋转屏幕之前,效果非常好。然后,当我尝试更改colorFilter时,imageButton为空。如何保留imageButton实例?它不是可包裹的,也不是可序列化的。。。所以onSaveInstanceState不起作用

我的理解是,当屏幕旋转时,片段会重新加载所有内容,因此imageButton不应为空

好的-我有一些澄清

我有一个主要活动,使用ViewPager和FragmentPagerAdapter在选项卡中显示选项卡和片段

然后我使用ColorPickerDialogFragment选择一种颜色,并将imageButton颜色更改为该颜色

我显示颜色选择器,如下所示:

ColorPickerDialogFragment dialog = ColorPickerDialogFragment.newInstance(BACKGROUND_COLOR_PICKER, "Color Picker", null, backgroundCurrentColor, false);
                    dialog.setStyle(DialogFragment.STYLE_NORMAL, R.style.DarkPickerDialogTheme);
                    dialog.show(getFragmentManager(), "pre_dialog");
工作,直到我旋转屏幕。。。然后片段中的imageButton(在ViewPager中)为空


我认为这与getFragmentManager()由于ViewPager而在旋转后没有返回正确的片段引用有关?

如何将用户的选择保存在变量中,将其保存在
onSaveInstanceState
中,并将存储的值应用到
onCreate()中的
ImageButton
屏幕旋转后?当您旋转设备时,您的片段应该经过onCreateView和onViewCreated函数,您应该在其中获得对按钮的引用。你可以发布你的片段代码,这样我们就可以知道为什么第二次它是空的吗?我添加了一些更多的信息。。。希望这有点道理。。。