0

我使用一个viewpager与3片段作为页面。第一个片段有一个列表视图标题&。我添加列表视图头像这样:Viewpager与列表视图和列表视图标题bug

View headerView; //defined at the beggining of the class 

    if (headerView == null) { 
      LayoutInflater mInflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 

      //item layout 
      int viewID = R.layout.listview_header; 
      headerView = mInflater.inflate(viewID, null); 
     } 
    listView.addHeaderView(headerView); 

的问题是,当我的网页之间滑动,然后再回来到第一片段(使用ListView报头)时,报头被dublicated(X2头视图) 。

据我所知,当viewpager重新创建第一个片段时,它会再次添加标头。我怎样才能避免这种情况?

回答

1
private void addHeader() { 
      View header = getActivity().getLayoutInflater().inflate(R.layout.header, null); 
      TextView tvValue = (TextView) header.findViewById(R.id.tvHeader); 

      tvValue.setText("Leads"); 

      tvValue.setTextColor(Color.parseColor("#fffb8900")); 
      getListView().addHeaderView(header,null,false); 
     } 
+0

它工作。请注意,它不适用于FragmentStatePagerAdapter,而是使用FragmentPagerAdapter。谢谢! – Arthur

+0

if(getListView()。getAdapter()== null){getListView()。addHeaderView(header,null,false);} – playmaker420