Как передать переменную через FragmentPagerAdapter во фрагмент?
Я новичок в Android, пытаюсь учиться, и это мой первый вопрос, поэтому, пожалуйста, извините, если вопрос слишком простой, и, пожалуйста, скажите, правильно ли я использую форум.
У меня есть FragmentActivity с использованием макета, который включает в себя viewpager; действие создает экземпляр MyFragmentPagerAdapter, который создает несколько экземпляров MyFragment. Все версии support.v4.
Я пытаюсь найти способ передать целочисленное значение (представляющее выделение, которое пользователь сделал ранее, который мог фактически быть отрисовываемым идентификатором) к фрагменту. Я использую намерение передать его в это действие, и я знаю, что могу использовать пакет для передачи значения из FragmentPagerAdapter во фрагмент, но я не могу найти способ передать его из действия в FragmentPagerAdapter. Я пробовал несколько способов, включая изменение конструктора, но не смог заставить это работать.
Я что-то упустил? Каков наилучший способ сделать это?
Деятельность public class SecondActivity extends FragmentActivity {
private MyIntegerAdapter1 mAdapter1;
private ViewPager mPager1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_layout);
mAdapter1 = new MyIntegerAdapter1(getSupportFragmentManager());
mPager1 = (ViewPager) findViewById(R.id.pager1);
mPager1.setAdapter(mAdapter1);
FragmentPagerAdapter public class MyIntegerAdapter1 extends FragmentPagerAdapter {
public MyIntegerAdapter1(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
Fragment f1 = new IntegerFragment();
Bundle args1 = new Bundle();
args1.putInt("param", R.drawable.image1);
args1.putInt("number", 1);
f1.setArguments(args1);
return f1;
etc
Фрагмент public class IntegerFragment extends Fragment {
private int imageResourceId;
private int numberSelected;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//change to avoid orientation crash
imageResourceId = getArguments().getInt("param");
numberSelected = getArguments().getInt("number");