Изменение классов активности на Fragment (используя FragmentPagerAdapter) - PullRequest
0 голосов
/ 12 октября 2011

У меня есть два действия, которые я хочу объединить с FragmentPagerAdapter. Я следовал учебному пособию, и все отлично работает с тестовыми классами. Однако, как уже упоминалось, я хочу использовать два ранее выполненных Действия в этом горизонтальном слайдере.

На данный момент это выглядит так:

public class CheatPagerFragmentActivity extends FragmentActivity {
...
/**
 * Initialise the fragments to be paged
 */
private void initialisePaging() {

    List<Fragment> fragments = new Vector<Fragment>();
    fragments.add(Fragment.instantiate(this, CheatView.class.getName()));
    fragments.add(Fragment.instantiate(this, CheatMetaView.class.getName()));


    this.mPagerAdapter = new MyPagerAdapter(super.getSupportFragmentManager(), fragments);

    ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager);
    pager.setAdapter(this.mPagerAdapter);
}
}

CheatView и CheatMetaView раньше были Деятельностями, но теперь являются Фрагментами («расширяет Фрагмент»). Мне не нужно знать, как я все еще могу передавать информацию этим (новым) фрагментам, так как я больше не могу использовать «намерение», как я использовал для передачи информации между действиями.

Также создание новых элементов в коде этих классов теперь помечается как ошибка. Как эта строка кода:

TableRow trTh = new TableRow(this);

Как я могу передать информацию этим классам и как мне изменить код, чтобы создать новую TableRow в коде предыдущего класса Activity?

Спасибо за любую помощь.

1 Ответ

1 голос
/ 19 декабря 2011

Ваш первый вопрос: вместо использования Fragment.instantiate создайте метод newInstance для каждого фрагмента, который может принимать информацию, которую вы хотите передать, в качестве параметра. См. Страницу ниже для примера (поиск newInstance):

http://developer.android.com/reference/android/app/Fragment.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...