У меня есть выдержка для слушателя, ниже которой находится переменная степень.Невозможно получить доступ к переменной внутри слушателя
public class CustomOnItemSelectedListener implements AdapterView.OnItemSelectedListener {
//Define Components
public EditText text;
public Spinner spinner1;
//Define Variables
public String degree;
public void onItemSelected(AdapterView<?> parent, View view, int pos,long id) {
//Set the selected item on spinner1 to the variable tempValue
String tempValue = spinner1.getSelectedItem().toString();
degree = "jobby";
}
Я пытаюсь получить доступ к этой переменной в моем ViewPager адаптер примерно так:
public class MyPagerAdapter extends FragmentPagerAdapter {
public CustomOnItemSelectedListener selectedListener;
[...]
@Override
public Fragment getItem(int pos) {
switch(pos) {
case 0: return resultFragment.newInstance(selectedListener.degree);
case 1: return resultFragment.newInstance("resultFragment, Instance 2");
default: return resultFragment.newInstance("resultFragment, Default");
}
}
[...]
}
И в моем MainActivity
protected void onCreate(Bundle savedInstanceState) {
[...]
myPager = new MyPagerAdapter(getSupportFragmentManager());
selectedListener = new CustomOnItemSelectedListener();
addListenerOnSpinnerItemSelection();
myPager.selectedListener = selectedListener;
}
Проблема, которую я имею что я не могу доступ к переменной степени. Если я задаю значение переменной в верхней части класса слушателя, например
public String degree = "jobby";
Затем я могу получить доступ к переменной.
Я пытаюсь записать оператор if в слушателе, и в зависимости от того, какой элемент счетчика выбран, переменная изменяется.
Как получить доступ к переменной в классе слушателя?
какая у вас ошибка? – Blackbelt
selectedListener должен быть типа CustomOnItemSelectedListener, не так ли? –
Ошибка отсутствует. Он строит и работает нормально, он просто не выводит содержимое переменной. – Xeo