TitlePageIndicator ViewPagerIndicator останавливает показ фрагментов и не позволяет смахивания - PullRequest
1 голос
/ 17 февраля 2012

Я вижу очень странную ошибку при попытке использовать ViewPagerIndicator (http://viewpagerindicator.com/). Я сузил ее до TitlePageIndicator, который является частью этой библиотеки. Когда я использую TitlePageIndicator, я не могу провести между вкладками, и мои фрагменты не отображаются (хотя они созданы и запущены, кнопка в верхнем правом углу создается фрагментом, который должен отображаться). Это выглядит так: http://imgur.com/RJaI9 (Извините, новый пользователь, поэтому я не могу встроить картинки)

Но без этого мои фрагменты отображаются правильно, и я могу провести между ними. http://imgur.com/bboSd

Понятия не имею, почему это происходит. Я использую последнюю библиотеку ViewPagerIndicator, но думаю, что это как-то связано с тем, как я ее импортировал? Я следовал инструкциям на сайте: создал новый проект Android в Eclipse из существующего источника, импортировал библиотеку совместимости, затем добавил его в свой проект в свойствах проекта Android.

Любая помощь будет принята с благодарностью, я застрял на ней 2 недели: (

Код:

Компоновка:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<com.viewpagerindicator.TitlePageIndicator
    android:id="@+id/titles"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />
<android.support.v4.view.ViewPager
    android:id="@+id/grocery_pager"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
     />
</LinearLayout>

FragmentActivity (из ActionBarSherlock):

public class GroceryActivity extends BaseFragmentActivity
{
   @Override
   protected void onCreate(Bundle savedInstanceState)
   {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_grocerylist);
  // Set the pager with an adapter
  ViewPager pager = (ViewPager) findViewById(R.id.grocery_pager);
  pager.setAdapter(new GroceryViewPagerAdapter(getSupportFragmentManager()));

  // Bind the title indicator to the adapter
//When these next two lines are commented out, everything works
  TitlePageIndicator titleIndicator = (TitlePageIndicator) findViewById(R.id.titles);
  titleIndicator.setViewPager(pager);
  }
}

1 Ответ

2 голосов
/ 09 апреля 2012

В итоге я обнаружил проблему:

В моей линейной компоновке я не установил ориентацию компоновки.По какой-то глупой причине я подумал, что поле ориентации связано с ориентацией устройства, а не с самим макетом.Добавление ориентации: вертикальное поле заставило все работать.

Надеюсь, это кому-нибудь поможет!

...