AndroidImageSlider
AndroidImageSlider copied to clipboard
Fragment Implementation
I have an Issue, I cant use this on a fragment, I really like how it looks on a regular activity but also would like to implement it on my fragments. This is what I get.
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.daimajia.slider.library.SliderLayout.addSlider(com.daimajia.slider.library.SliderTypes.BaseSliderView)' on a null object reference
public void startSlider(){ Context contextSl = getActivity().getApplicationContext(); //Set the slider for header images----------------------------------------------------------------------------------Abe Cruz url_maps = new HashMap<String, String>(); url_maps.put("Hannibal", "http://static2.hypable.com/wp-content/uploads/2013/12/hannibal-season-2-release-date.jpg"); url_maps.put("Big Bang Theory", "http://tvfiles.alphacoders.com/100/hdclearart-10.png"); url_maps.put("House of Cards", "http://cdn3.nflximg.net/images/3093/2043093.jpg"); url_maps.put("Game of Thrones", "http://images.boomsbeat.com/data/images/full/19640/game-of-thrones-season-4-jpg.jpg");
for(String name : url_maps.keySet()){
TextSliderView textSliderView = new TextSliderView(contextSl);
// initialize a SliderLayout
textSliderView
.description(name)
.image(url_maps.get(name))
.setScaleType(BaseSliderView.ScaleType.Fit)
.setOnSliderClickListener((BaseSliderView.OnSliderClickListener) contextSl);
//add extra information
textSliderView.bundle(new Bundle());
textSliderView.getBundle().putString("extra",name);
mSlider.addSlider(textSliderView);
}
mSlider.setPresetTransformer(SliderLayout.Transformer.FlipPage);
mSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom);
mSlider.setCustomAnimation(new DescriptionAnimation());
mSlider.setDuration(4000);
mSlider.addOnPageChangeListener((ViewPagerEx.OnPageChangeListener) contextSl);
//Set the slider for header images----------------------------------------------------------------------------------Abe Cruz
}
change your code..
TextSliderView textSliderView = new TextSliderView(getActivity());
on addOnPageChangeListner
sliderLayout.addOnPageChangeListener(MYFRAGMENT.this);
and make sure your fragment implements BaseSliderView.OnSliderClickListener, ViewPagerEx.OnPageChangeListener
I faced the same issue , even my fragment implements the BaseSliderView.OnSliderClickListener ,ViewPagerEx.OnPageChangeListener here's my code >> private void sliderSetup(List sponsored) { try { for (int i = 0; i < sponsored.size(); i++) { TextSliderView sliderView = new TextSliderView(this.getActivity()); sliderView.image(sponsored.get(i)) .setScaleType(BaseSliderView.ScaleType.FitCenterCrop); mSponsoredSlider.addSlider(sliderView); } mSponsoredSlider.setPresetTransformer(SliderLayout.Transformer.Accordion); mSponsoredSlider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom); mSponsoredSlider.setTextAlignment(View.TEXT_ALIGNMENT_CENTER); mSponsoredSlider.canResolveTextAlignment(); mSponsoredSlider.setSoundEffectsEnabled(true); mSponsoredSlider.setCustomAnimation(new DescriptionAnimation()); mSponsoredSlider.setDuration(4000); mSponsoredSlider.addOnPageChangeListener(FragmentHome.this); } catch (Exception e) { e.printStackTrace(); }
} @override public void onSliderClick(BaseSliderView slider) {
}
@Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override public void onPageSelected(int position) {
}
@Override public void onPageScrollStateChanged(int state) {
}
I faced the same issue. I used ButterKnife, I fixed by adding ButterKnife.bind(this, rootview). I think this happened bc your slider is null, not your sliderview. So check it carefully.
change your code..
TextSliderView textSliderView = new TextSliderView(getActivity());on addOnPageChangeListner
sliderLayout.addOnPageChangeListener(MYFRAGMENT.this);and make sure your fragment
implements BaseSliderView.OnSliderClickListener, ViewPagerEx.OnPageChangeListener
thanks dude