Android PagerSlidingStrip也在加载另一个片段
我已经实现了寻呼机滑动条,它的工作完全正常 我有5个选项卡,每个选项卡包含不同的片段。当我点击第二个标签加载相应的片段时,它也会加载第三个片段的详细信息,它显示了我在第三个标签的片段中编码的toast 这完全破坏了应用程序的性能,我怎么能解决这个问题呢?我不知道到底发生了什么 我正在做一个非常大的项目,我不能发布整个代码 请帮助我,我会根据需要发布相应的代码 问候 编辑 正在加载另一个片段的通知片段Android PagerSlidingStrip也在加载另一个片段,android,android-fragments,pagerslidingtabstrip,Android,Android Fragments,Pagerslidingtabstrip,我已经实现了寻呼机滑动条,它的工作完全正常 我有5个选项卡,每个选项卡包含不同的片段。当我点击第二个标签加载相应的片段时,它也会加载第三个片段的详细信息,它显示了我在第三个标签的片段中编码的toast 这完全破坏了应用程序的性能,我怎么能解决这个问题呢?我不知道到底发生了什么 我正在做一个非常大的项目,我不能发布整个代码 请帮助我,我会根据需要发布相应的代码 问候 编辑 正在加载另一个片段的通知片段 ListView notification_listview; ArrayList<
ListView notification_listview;
ArrayList<FragmentNotificationDTO> arraylist;
NotificationAdapter adapter;
private static View notificationView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if (notificationView != null) {
ViewGroup parent = (ViewGroup) notificationView.getParent();
if (parent != null)
parent.removeView(notificationView);
}
notificationView = inflater.inflate(R.layout.fragment_notification,
container, false);
initLayout(notificationView);
loadData();
return notificationView;
}
private void initLayout(View view) {
notification_listview = (ListView) view.findViewById(R.id.notification_listview);
arraylist = new ArrayList<FragmentNotificationDTO>();
adapter = new NotificationAdapter(mContext, arraylist);
notification_listview.setAdapter(adapter);
}
MainActivity.java,其中包含PagerSlidingStrip和View页面
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()));
PagerSlidingTabStrip PGSTRIP = (PagerSlidingTabStrip) findViewById(R.id.tabs);
PGSTRIP.setViewPager(viewPager);
viewPager.setOffscreenPageLimit(0);
}
我在每个片段中重写了这个方法,然后在片段对用户的可见性为真时调用加载方法,从而解决了我的问题
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
// load data here
}else{
// fragment is no longer visible
}
}
我在每个片段中重写了这个方法,然后在片段对用户的可见性为真时调用加载方法,从而解决了我的问题
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
// load data here
}else{
// fragment is no longer visible
}
}
检查在多个片段中是否有同名视图的任何实例。“我昨天也有类似的问题,这就是问题所在。”帕萨尼亚哈迪克告诉我Check@ParsaniaHardik检查了所有碎片,一切正常。如果我遗漏了我发布的代码,请检查并解释我是否有任何问题。这是通过设计-查看寻呼机提前加载选项卡。它会将所有选项卡保留在内存中,您只需在开始时加载一次。还要检查在多个片段中是否有同名视图的任何实例。“我昨天也有类似的问题,这就是问题所在。”帕萨尼亚哈迪克告诉我Check@ParsaniaHardik检查了所有碎片,一切正常。如果我遗漏了我发布的代码,请检查并解释我是否有任何问题。这是通过设计-查看寻呼机提前加载选项卡。它会将所有选项卡保留在内存中,您只需在开始时加载一次。也检查