Почему не работает Метод vMoney(); В методе onViewCreate, Хотя в обработке нажатия,все нормально и все работает?
public class FragmentJob extends Fragment implements View.OnClickListener {
Money mon = new Money();
public TextView money_job;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
vMoney();
setRetainInstance(true);
View v = inflater.inflate(R.layout.fragment_job, container, false);
Button button1 = (Button) v.findViewById(R.id.Job1);
Button button2 = (Button) v.findViewById(R.id.Job2);
Button button3 = (Button) v.findViewById(R.id.Job3);
Button button4 = (Button) v.findViewById(R.id.Job4);
Button button5 = (Button) v.findViewById(R.id.Job5);
Button button6 = (Button) v.findViewById(R.id.Job6);
Button button7 = (Button) v.findViewById(R.id.Job7);
Button button8 = (Button) v.findViewById(R.id.Job8);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
button4.setOnClickListener(this);
button5.setOnClickListener(this);
button6.setOnClickListener(this);
button7.setOnClickListener(this);
button8.setOnClickListener(this);
return v;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Job1:
mon.salary1();
vMoney();
break;
case R.id.Job2:
mon.salary2();
vMoney();
break;
case R.id.Job3:
mon.salary3();
vMoney();
break;
case R.id.Job4:
mon.salary4();
vMoney();
break;
case R.id.Job5:
mon.salary5();
vMoney();
break;
case R.id.Job6:
mon.salary6();
vMoney();
break;
case R.id.Job7:
mon.salary7();
vMoney();
break;
case R.id.Job8:
mon.salary8();
vMoney();
break;
}
}
public void vMoney(){
int j = money;
money_job = (TextView) getActivity().findViewById(R.id.money_job);
money_job.setText(String.valueOf(j));}
}
}
Предположу, что уместнее будет вызвать данный метод ( vMoney
) при старте фрагмента, в методе onStart()
.
При построении фрагмента у Вас может и не быть ресурсов, к которым Вы обращаетесь.
По этой же причине всё работает при обработке нажатия(активити и фрагмент уже построены и стартовали и Вам доступны все объекты, к которым Вы обращаетесь.)
Изучите внимательнее жизненный цикл активити и фрагментов.
http://developer.alexanderklimov.ru/android/theory/fragment-lifecycle.php
@Override
public void onStart() {
super.onStart();
vMoney();
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Мне дали задание: реализовать функцию записи и считывания массива из файлаЕсли файла нет, то его нужно создать
Есть 2 Layout,надо их разделить вертикальной чертойКак эту черту сделать ?
Как мне перевести строку на транслит? Например: БИТ1-15 -> BIT1-15 Может уже есть алгоритм какой-то или библиотека?