Хороший день StackOverflowians, у меня вопрос об Android-приложении, над которым я работаю. Я использую учебное пособие из руководства по этой ссылке здесь: http://www.jamesfroggatt.com/2014/04/892/ Пока сами фрагменты видны, я не могу заставить XML правильно надуть. В настоящее время, это то, что мой экран приложение выглядит следующим образом: Невозможно получить мой 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 не правильно накачивается кнопками, текстовыми изображениями и списками? Я немного потерян!