我们正在开发一个Android应用,该应用根据用户个人资料页面中的设置为用户提供不同的功能集。所选功能集也会对应用程序设置页面(显示更多或更少的设置)产生影响。如果用户点击设置页面,我们目前正在做什么:
问题在于,在(2)中,当用户数据可用时,已经创建了视图,因此元素已经可见,并且在(3)中的检查过程中被删除。这会导致视觉上的“弹出”效果。
在步骤(2)中提供用户数据之前,我们无法决定是否应该显示首选项。
测试1-使用setVisible
我知道在v7中有一个setVisible()方法用于推理。但是,只能在(3)中使用setVisible方法,因此再次为时已晚。我可以在xml文件中设置不可见的首选项:
app:isPreferenceVisible="false"
无论如何,如果需要使它们可见,我们都必须使其可见,这只能在(3)中完成,这将导致弹出效果(而不是弹出)
测试2-操纵“首选项屏幕”
我尝试隐藏整个屏幕,直到处理首选项为止(然后使其可见)。但不幸的是
PreferenceScreen prefScreen = getPreferenceScreen();
prefScreen.setVisible(false);
在步骤(2)开始时完全没有效果。
测试3-访问视图
我尝试过类似的操作
View view = getView();
if(view != null)
view.setVisibility(View.GONE);
但这也没有效果。
有人知道这个问题的解决方案吗?到目前为止我错过了任何方法或选项吗?