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