-1

Хороший день StackOverflowians, у меня вопрос об Android-приложении, над которым я работаю. Я использую учебное пособие из руководства по этой ссылке здесь: http://www.jamesfroggatt.com/2014/04/892/ Пока сами фрагменты видны, я не могу заставить XML правильно надуть. В настоящее время, это то, что мой экран приложение выглядит следующим образом: enter image description hereНевозможно получить мой Android-файл для Android для раздувания через фрагменты

Проблема в том, мой XML корпус файла фрагмент Autos фактически читает:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

<!-- fragment_autos --> 

    <TextView 
     android:id="@+id/autos_updated_as_of" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:text="" /> 

    <Button 
     android:id="@+id/button" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button and whatnot" /> 



    <ListView 
     android:id="@+id/autos_list" 
     android:layout_width="match_parent" 
     android:layout_height="fill_parent" > 
    </ListView> 

    <TextView 
     android:id="@+id/textView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:text="Words!" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 


</LinearLayout> 

Так что что-то должно показываться на вкладке автомагазинов, верно? Наконец, вот мой Java-код (большинство из них копируются из указанных ранее упомянутого учебника с некоторыми вырежут, чтобы уменьшить беспорядок кода)

import android.app.ActionBar; 
import android.app.ActionBar.Tab; 
import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentTransaction; 
import android.view.Menu; 
import android.view.MenuInflater; 
import android.view.MenuItem; 
import android.widget.Toast; 



public class NewMainActivity extends Activity { 

    private static final String TAB_KEY_INDEX = "tab_key"; 

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

     // ActionBar 
     ActionBar actionbar = getActionBar(); 
     actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

     // create new tabs and set up the titles of the tabs 
     ActionBar.Tab mAutoTab = actionbar.newTab().setText("Autos"); 
     ActionBar.Tab mEarningsTab = actionbar.newTab().setText("Earnings"); 


     // create the fragments 
     Fragment mAutosFragment = new AutosFragment(); 
     Fragment mEarningsFragment = new EarningsFragment(); 

     // bind the fragments to the tabs - set up tabListeners for each tab 
     mAutoTab.setTabListener(new MyTabsListener(mAutosFragment, getApplicationContext())); 
     mEarningsTab.setTabListener(new MyTabsListener(mEarningsFragment, getApplicationContext())); 

     // add the tabs to the action bar 
     actionbar.addTab(mAutoTab); 
     actionbar.addTab(mEarningsTab); 

     if (savedInstanceState != null) { 
      Toast.makeText(getApplicationContext(), 
        "tab is " + savedInstanceState.getInt(TAB_KEY_INDEX, 0), 
        Toast.LENGTH_SHORT).show(); 

      actionbar.setSelectedNavigationItem(savedInstanceState.getInt(
        TAB_KEY_INDEX, 0)); 
     } 
    } 

    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
       MenuInflater inflater = getMenuInflater(); 
       inflater.inflate(R.menu.tabs_menu, menu); 
       return true; 
    } 


    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
       switch (item.getItemId()) { 
       case R.id.menuitem_search: 
        Toast.makeText(this, "Search", Toast.LENGTH_LONG).show(); 
        return true; 

       } 
       return false; 
    } 


    @Override 
    protected void onSaveInstanceState(Bundle outState) { 
     super.onSaveInstanceState(outState); 
     Toast.makeText(
       this, 
       "onSaveInstanceState: tab is" 
         + getActionBar().getSelectedNavigationIndex(), 
       Toast.LENGTH_SHORT).show(); 
     outState.putInt(TAB_KEY_INDEX, getActionBar() 
       .getSelectedNavigationIndex()); 

    } 


    class MyTabsListener implements ActionBar.TabListener { 
     public Fragment fragment; 
     public Context context; 

     public MyTabsListener(Fragment fragment, Context context) { 
      this.fragment = fragment; 
      this.context = context; 

     } 

     public void onTabReselected(Tab tab, FragmentTransaction ft) { 
      Toast.makeText(context, "Reselected!", Toast.LENGTH_SHORT).show(); 

     } 

     public void onTabSelected(Tab tab, FragmentTransaction ft) { 
      Toast.makeText(context, "Selected!", Toast.LENGTH_SHORT).show(); 
      ft.replace(R.id.fragment_container, fragment); 
     } 

     public void onTabUnselected(Tab tab, FragmentTransaction ft) { 
      Toast.makeText(context, "Unselected!", Toast.LENGTH_SHORT).show(); 
      ft.remove(fragment); 
     } 
    } 
} 

й AutosFragment Java File-

//Handles the Autos Fragment of the tabs from the main menu 
public class AutosFragment extends Fragment { 

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

} 

Любого есть идеи, почему xml не правильно накачивается кнопками, текстовыми изображениями и списками? Я немного потерян!

ответ

0

Попробуйте избавиться от этого:

if (savedInstanceState != null) { 
     Toast.makeText(getApplicationContext(), 
       "tab is " + savedInstanceState.getInt(TAB_KEY_INDEX, 0), 
       Toast.LENGTH_SHORT).show(); 

     actionbar.setSelectedNavigationItem(savedInstanceState.getInt(
       TAB_KEY_INDEX, 0)); 
    } 

Кроме того, поскольку у вас есть вам кнопки и TextViews в макете fragment_auto, попытайтесь изменить это (дополнительно):

setContentView(R.layout.fragment_auto);