2013-07-31 4 views
0

это многократная деятельность >> Я пытаюсь установить макет для каждой вкладки, но он не работает! он просто ничего не показывает на обеих вкладках!Как установить макет для фрагмента?

Вот код

public class Game extends Activity { 

    public static Context appContext; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.game); 

     //ActionBar gets initiated 
     ActionBar actionbar = getActionBar(); 
     //Tell the ActionBar we want to use Tabs. 
     actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
     //initiating both tabs and set text to it. 
     ActionBar.Tab roundTab = actionbar.newTab().setText("Round 55"); 
     ActionBar.Tab scoreTab = actionbar.newTab().setText("Score 55"); 

     //create the two fragments we want to use for display content 
     Fragment roundFragment = new roundFragment(); 
     Fragment scoreFragment = new scoreFragment(); 

    //set the Tab listener. Now we can listen for clicks. 
     roundTab.setTabListener(new MyTabsListener(roundFragment)); 
     scoreTab.setTabListener(new MyTabsListener(scoreFragment)); 
     //add the two tabs to the actionbar 
     actionbar.addTab(roundTab); 
     actionbar.addTab(scoreTab); 
    } 



    class MyTabsListener implements ActionBar.TabListener { 
     public Fragment fragment; 

     public MyTabsListener(Fragment fragment) { 
      this.fragment = fragment; 
     } 


     public void onTabReselected(Tab tab, FragmentTransaction ft) { 
     } 

     public void onTabSelected(Tab tab, FragmentTransaction ft) { 

     } 

     public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
     } 

    } 

    public class roundFragment extends Fragment { 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
      // Inflate the layout for this fragment 
      return inflater.inflate(R.layout.round, container, false); 
     } 

    } 

    public class scoreFragment extends Fragment { 

     @Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
      // Inflate the layout for this fragment 
      return inflater.inflate(R.layout.score, container, false); 
     } 

    } 


} 
+0

Вы проверили LogCat? Я бы также поместил некоторые вызовы Log.d', чтобы проверить, вообще ли вызван фрагмент '' onCreateView'. –

ответ

-1

Это не способ сделать это, и это кажется более сложным ... для пользовательского интерфейса с вкладками, я предлагаю вам использовать ViewPagerIndicator библиотеку, это хорошо известно, надежный и легко использовать.

0

Ваш onTabSelected() пуст. поэтому он ничего не показывает при выборе.

Добавить этот код в ваш onTabSelected() вашего MyTabsListener.

public void onTabSelected(Tab tab, FragmentTransaction ft) { 
      ft.add([id the container /viewgroup in which you have to load your  fragment],fragment) 
     } 
Смежные вопросы