Jak przekazać zmienną przez FragmentPagerAdapter do Fragmentu?
Jestem początkującym androidem, próbuję się uczyć, i to jest moje pierwsze pytanie, więc proszę wybacz mi, jeśli pytanie jest zbyt proste i powiedz mi, czy używam forum nieprawidłowo.
Mam FragmentActivity za pomocą układu, który zawiera viewpager; działanie tworzy instancję MyFragmentPagerAdapter, która tworzy kilka instancji MyFragment. Wszystkie są wersjami support.v4.
Próbuję znaleźć sposób na przekazanie wartości całkowitej (reprezentującej zaznaczenie dokonane wcześniej przez użytkownika, która w rzeczywistości mogłaby być identyfikatorem ciągnionym) do fragmentu. Korzystam z zamiaru przekazać go do tego działania i wiem, że mogę użyć pakunku, aby przekazać wartość z FragmentPagerAdapter do fragmentu, ale nie mogę znaleźć sposobu, aby uzyskać go z aktywności do FragmentPagerAdapter. Próbowałem kilku sposobów, w tym zmiany konstruktora, ale nie udało mi się go uruchomić.
Czy brakuje mi czegoś prostego? Jak najlepiej to zrobić?
Czynność 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
Fragment 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");