如何修复 Android 选项卡面板以便不调用下一个选项卡的 onCreateView?
How to fix Android tab panel in order not to call onCreateView of next tab?
我有一个 Android 应用程序。登录后,我有一个 activity 主页面,其中包含 3 个选项卡面板。这 3 个面板是零散的。我已经覆盖了所有的 onCreateView 并在第二个和第三个面板中填充了 onCreateView 方法,我正在调用我的服务来填充我的微调器。
登录后,当我在第一个片段时,第二个片段的 onCreateView 方法开始工作并调用服务。
然后当我通过第二个选项卡时,第三个片段的第三个 onCreateView 开始工作并调用服务。
我不明白这个situation.How克服这个。
有合理的解释吗?
进入第一个片段时viewpager加载下一个片段是正常的。
您可以使用下面的片段来延迟加载:
public abstract class LazyFragment extends Fragment {
protected boolean isVisible;
private boolean loaded = false;
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(getUserVisibleHint()&&!loaded) {
loaded = true;
isVisible = true;
onVisible();
} else {
isVisible = false;
}
}
protected void onVisible(){
lazyLoad();
}
protected abstract void lazyLoad();
}
public class YourFragment extends LazyFragment{
public void lazyload(){
//do thing you want to do when you turn to this page.
}
}
我有一个 Android 应用程序。登录后,我有一个 activity 主页面,其中包含 3 个选项卡面板。这 3 个面板是零散的。我已经覆盖了所有的 onCreateView 并在第二个和第三个面板中填充了 onCreateView 方法,我正在调用我的服务来填充我的微调器。
登录后,当我在第一个片段时,第二个片段的 onCreateView 方法开始工作并调用服务。
然后当我通过第二个选项卡时,第三个片段的第三个 onCreateView 开始工作并调用服务。
我不明白这个situation.How克服这个。
有合理的解释吗?
进入第一个片段时viewpager加载下一个片段是正常的。
您可以使用下面的片段来延迟加载:
public abstract class LazyFragment extends Fragment {
protected boolean isVisible;
private boolean loaded = false;
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(getUserVisibleHint()&&!loaded) {
loaded = true;
isVisible = true;
onVisible();
} else {
isVisible = false;
}
}
protected void onVisible(){
lazyLoad();
}
protected abstract void lazyLoad();
}
public class YourFragment extends LazyFragment{
public void lazyload(){
//do thing you want to do when you turn to this page.
}
}