public class ViewPagerTask extends TimerTask {
@Override
public void run() {
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (viewPager.getCurrentItem() == 0){
viewPager.setCurrentItem(1);
} else if (viewPager.getCurrentItem() == 1){
viewPager.setCurrentItem(2);
} else viewPager.setCurrentItem(0);
}
});
}
}
Я использую этот код для изменения изображений в представлении.Но проблема в том, что я использую его во фрагменте, и когда я изменяю фрагмент, приложение запускается в течение нескольких секунд, а затем внезапно появляется ошибка нулевого указателя.Теперь, что я понимаю, причина в том, что он пытается изменить изображение, но не находит представление и создает эту ошибку, я понятия не имею, что делать.Пожалуйста, помогите:)
Ошибка
E/AndroidRuntime: FATAL EXCEPTION: Timer-0
Process: com.example.android.indianmetro, PID: 5150
java.lang.NullPointerException: Attempt to invoke virtual method 'void
android.support.v4.app.FragmentActivity.runOnUiThread(java.lang.Runnable)'
on a null object reference
at com.example.android.indianmetro.HomeFragment$ViewPagerTask.run(HomeFragment.java:258)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
E/AbstractTracker: Can't create handler inside thread that has not called
Looper.prepare()