Я пытаюсь изменить глобальную переменную, используя позицию страницы пейджера представления.Использование позиции Pager Adapter для изменения глобальной переменной
Внутри мой взгляд пейджера адаптера:
public Object instantiateItem(ViewGroup container, int position) {
...
Global global = new Global();
switch(position){
case 0: global.setLocation("0");
break;
case 1: global.setLocation("1");
break;
case 2: global.setLocation("2");
break;
case 3: global.setLocation("3");
break;
default: global.setLocation("");
break;
}
return item_view;
}
Если я переключать страницы, так же место ... Однако, когда я тост места, это неправильное место.
Пример: Я нахожусь на странице 3, global.getLocation = "2" или я на странице 1, global.getLocation = "3"; (Ответы часто меняются)
Что является неправильным в отношении использования позиции пейджера представления для изменения глобальной переменной?
Как я могу выполнить эту задачу правильно?
Больше код попытки решения ...
public class Location extends AppCompatActivity {
ViewPager viewPager;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.location2);
viewPager = (ViewPager)findViewById(R.id.myViewPager);
adapterLocation = new CustomSwipeAdapterLocation(this);
viewPager.setAdapter(adapterLocation);
int position = viewPager.getCurrentItem();
Toast.makeText(this, position,
Toast.LENGTH_LONG).show();
}
...
Ошибка:
FATAL EXCEPTION: main
Process: andrewnguyen.finishedmoietyapp, PID: 5463
java.lang.RuntimeException: Unable to start activity ComponentInfo{andrewnguyen.finishedmoietyapp/andrewnguyen.finishedmoietyapp.Location}: android.content.res.Resources$NotFoundException: String resource ID #0x0
Ошибка относится к строке "Int позиции = viewPager.getCurrentItem();"
Хмм .. Пробовал и получил: Ресурсы $ NotFoundException ... –
mmm Эндрю опубликуйте свой код, и я могу вам помочь. – Jorgesys
Это то, что я пробовал ... int position = viewPager.getCurrentItem(); Toast.makeText (это, позиция, Toast.LENGTH_LONG) .show(); –