Java 如何在底部导航材料设计中保存和恢复碎片状态?
其他片段存在于底部导航片段中,包含来自服务器的数据!数据似乎在那里,因为它加载速度比以前快,但视图被破坏并再次加载会延迟过程。好吧,当加载片段时,在再次发出网络请求之前,需要检查数据是否已经在那里 假设您在“onCreateView”方法上调用网络。您的类中有一个全局变量Java 如何在底部导航材料设计中保存和恢复碎片状态?,java,android,web,mobile,Java,Android,Web,Mobile,其他片段存在于底部导航片段中,包含来自服务器的数据!数据似乎在那里,因为它加载速度比以前快,但视图被破坏并再次加载会延迟过程。好吧,当加载片段时,在再次发出网络请求之前,需要检查数据是否已经在那里 假设您在“onCreateView”方法上调用网络。您的类中有一个全局变量 class YourClass{ var someVariable = 0 ... //here your call network on "onCreateView" method someVariab
class YourClass{
var someVariable = 0
...
//here your call network on "onCreateView" method
someVariable = callingNetWork.getValueFromNetWork()
}
一旦从片段生命周期调用CreateView,您就无法控制调用它的次数。因此,您需要检查是否已经有数据。你需要这样的逻辑:
if( someVariable == 0) { //Has not been modiefied yet
someVariable = callingNetWork.getValueFromNetWork()
}
//Don't need an else, if it's not equal to 0, you have already called the networkd and stored the value
那么,当您加载片段时,您需要在再次发出网络请求之前检查数据是否已经存在 假设您在“onCreateView”方法上调用网络。您的类中有一个全局变量
class YourClass{
var someVariable = 0
...
//here your call network on "onCreateView" method
someVariable = callingNetWork.getValueFromNetWork()
}
一旦从片段生命周期调用CreateView,您就无法控制调用它的次数。因此,您需要检查是否已经有数据。你需要这样的逻辑:
if( someVariable == 0) { //Has not been modiefied yet
someVariable = callingNetWork.getValueFromNetWork()
}
//Don't need an else, if it's not equal to 0, you have already called the networkd and stored the value
我建议您链接文档页面以获取您正在使用的确切导航片段,或者在问题中包含一些代码,以便其他人能够更好地回答您的问题。我建议您链接文档页面以获取您正在使用的确切导航片段,或者在问题中加入一些代码,这样其他人就可以更好地回答你的问题。谢谢,伙计,它成功了!只是一个小小的误会问题!谢谢,伙计,成功了!只是一个小小的误会问题!