2012-12-07 34 views
0

我正在尝试实现片段。正在创建Fragment,但问题是其中的视图为空,并显示一个空白屏幕。当我第一次运行视图时显示,但重新加载时,其视图变为空,并显示一个空白屏幕。不知道有什么问题。片段未被重新加载

这里是我的代码....

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
       View root = inflater 
           .inflate(R.layout.winedescription, container, false); 
       tvTitle = (TextView) root.findViewById(R.id.tvWineDescriptionTitle); 
       tvDescription = (TextView) root 
           .findViewById(R.id.tvWineDescriptionDescription); 
       tvWineName = (TextView) root 
           .findViewById(R.id.tvWineDescriptionWineName); 
       tvWineType = (TextView) root.findViewById(R.id.tvWineDescriptionType); 
       tvWinePrice = (TextView) root.findViewById(R.id.tvWineDescriptionPrice); 
       btnSelect = (Button) root.findViewById(R.id.btnWineDescriptionSelect); 
       imgWine = (ImageView) root.findViewById(R.id.ivWineImage); 
       setDescription(position); 
       btnSelect.setOnClickListener(this); 
       return root; 
     } 

我父活动它的适配器。

public class WineFragmentPagerAdapter extends FragmentPagerAdapter { 

     public static ArrayList<WineSubCategoryNameListModel> itemData = new ArrayList<WineSubCategoryNameListModel>(); 
     private int size = 0; 

     public WineFragmentPagerAdapter(FragmentManager fm, 
         ArrayList<WineSubCategoryNameListModel> wineSubCategory) { 
       super(fm); 
       try { 
         itemData.clear(); 
         if (wineSubCategory != null) { 
           for (int i = 0; i < wineSubCategory.size(); i++) { 
             itemData.add(wineSubCategory.get(i)); 
           } 
           size = itemData.size(); 
         } 
       } catch (Exception e) { 
         e.printStackTrace(); 
       } 
     } 

     @Override 
     public int getCount() { 
       return size; 
     } 

     @Override 
     public Fragment getItem(int position) { 
       Log.d("wine", "Fragment Created"); 
       FragmentWineView f = FragmentWineView.newInstance(); 
       // f.setWineList(itemData); 
       f.setPosition(position); 
       return f; 
     } 
} 




if (llWinePager.getChildCount() == 0) { 
        LayoutInflater infSelectTypeLayout = (LayoutInflater)  getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
        wineDescriptionView = (LinearLayout) infSelectTypeLayout.inflate(
            R.layout.winedescriptionpager, null); 
        viewPage = (ViewPager) wineDescriptionView 
            .findViewById(R.id.viewPager); 
        btnBackWineDescriptionView = (Button) wineDescriptionView 
            .findViewById(R.id.btnBackWineDescriptionView); 

        WineFragmentPagerAdapter adapter = new WineFragmentPagerAdapter(
            getSupportFragmentManager(), wineSubCategory.get(0) 
                .getWineSubCategoryNameList()); 

        viewPage.setAdapter(adapter); 
        viewPage.setOnPageChangeListener(WineMenu.this); 
        displayImage(subCategoryId); 
        llWinePager.addView(wineDescriptionView); 
        btnBackWineDescriptionView.setOnClickListener(this); 
        Log.d("wine", ".WineMenu .....IF...."); 
      } else { 
        WineFragmentPagerAdapter adapter = new WineFragmentPagerAdapter(
            getSupportFragmentManager(), wineSubCategory.get(0) 
                .getWineSubCategoryNameList()); 
        viewPage.setAdapter(adapter); 
        displayImage(subCategoryId); 
        Log.d("wine", ".WineMenu .....Else...."); 
      } 
+0

显示您的片段代码。特别是'onCreateView'方法 – vasart

+0

看到我的编辑代码片段的onCreateView。 – user1508383

+0

也共享包含此片段的父活动。 – Faizan

回答

0

首先u的定义父类扩展FragmentActivity然后里面定义anyClass延伸片段,然后该代码执行和检查,

public class DemoFragment extends Fragment { 

     public ConatactFragment() { 
      // defult constructor 
     } 
     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
      View view = inflater.inflate(R.layout.YOUR_LAYOUT,container,false); 
      return view; 
     } 

    }