Предполагаю что дело в модификаторах доступа, но не могу понять почему pbHealth.setProgress(a)
выдает NullPointerException
?
public class MyActivity extends AppCompatActivity {
private ProgressBar pbHealth;
static int progressHealth, maxProgressHealth;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
pbHealth = (ProgressBar) findViewById(R.id.pbHealth);
progressHealth = pbHealth.getProgress();
maxProgressHealth = pbHealth.getMax();
}
public int getHealthProgress() {
return progressHealth;
}
public void setHealthProgress(int a) {
pbHealth.setProgress(a); //ВОТ ЗДЕСЬ ВЫБРАСЫВАЕТ ОШИБКУ!!!
}
public int getHealthMax() {
return maxProgressHealth;
}
}
Второй Класс:
public class Tab1_Action extends Fragment implements View.OnClickListener {
View rootView;
MyActivity main;
RelativeLayout btnSleep;
static int addHealth;
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container,
@Nullable Bundle savedInstanceState){
rootView = inflater.inflate(R.layout.tab1_action, container, false);
main = new MyActivity();
return rootView;
}
public void onClick(View v) {
switch (v.getId())
{
case R.id.btnSleep:
if (main.getHealthProgress() < main.getHealthMax())
{
main.setHealthProgress(main.getHealthProgress() + addHealth); //ВОТ ЗДЕСЬ ПРОИСХОДИТ ВЫЗОВ МЕТОДА В КОТОРОМ ОШИБКА!!!
}
break;
default:
break;
}
}
}
Потому что main = new MyActivity();
не вызывает метод onCreate
и следовательно pbHealth не инициализирован.
Из фрагменте можно получить доступ к элементу активити:
ProgressBar pbHealth = (ProgressBar) getActivity().findViewById(R.id.pbHealth);
А дальше делайте что хотите с ним.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Здравствуйте! Есть потребность сохранять пароль на устройствеКак выполнить шифрование - дешифрование в java (Android)
Данные методы возвращают на клиент ответ с Content-type json , но мне нужен HAL или HAL + JSON