ScrollGalleryView icon indicating copy to clipboard operation
ScrollGalleryView copied to clipboard

NullPointerException

Open ankitdubey021 opened this issue 5 years ago • 6 comments

Can anyone suggest me, why i'm getting this exception?

java.lang.NullPointerException: Attempt to invoke interface method 'void androidx.viewpager.widget.ViewPager$OnPageChangeListener.onPageScrolled(int, float, int)' on a null object reference at com.veinhorn.scrollgalleryview.ScrollGalleryView$5.onPageScrolled(

ankitdubey021 avatar May 04 '19 13:05 ankitdubey021

@ankitdubey021 Hi! Which version of library do you use?

VEINHORN avatar May 04 '19 13:05 VEINHORN

@VEINHORN thank you for response. i'm using below two libraries implementation 'com.veinhorn.scrollgalleryview:library:1.2.8' implementation 'com.veinhorn.scrollgalleryview:picasso-loader:1.2.8'

And here is my same code, you've mentioned.

galleryView = ScrollGalleryView .from((ScrollGalleryView) findViewById(R.id.scroll_gallery_view)) .settings( GallerySettings .from(getSupportFragmentManager()) .thumbnailSize(100) .enableZoom(true) .build() ) .add(image("http://pirate-islands.com/wp-content/uploads/2018/07/07_Dom-Fernando-II_01-636x310.jpg")) .add(image("http://povodu.ru/wp-content/uploads/2016/04/pochemu-korabl-derzitsa-na-vode.jpg")) //.add(video("http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4", R.mipmap.default_video)) .build();

ankitdubey021 avatar May 04 '19 13:05 ankitdubey021

hey @VEINHORN i am also getting the same error kindly help

tannu031 avatar May 16 '19 11:05 tannu031

hey @VEINHORN I'm also getting same error . Kindly Help

rajeshlakkakula-dev avatar Jun 11 '19 10:06 rajeshlakkakula-dev

I also getting same error so I just defined empty listener like below and problem solved:


//after create new list instance I filled array list with some image and video url
List<String> imageList = new ArrayList<>();
List<String> videoList = new ArrayList<>();

//todo: fill lists with urls

GalleryBuilder gb = ScrollGalleryView
		.from(scroll_gallery_view)
		.settings(
				GallerySettings
						.from(getSupportFragmentManager())
						.thumbnailSize(100)
						.enableZoom(true)
						.build()
		)
		.onPageChangeListener(new ViewPager.OnPageChangeListener() {
			@Override
			public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {

			}

			@Override
			public void onPageSelected(int position) {

			}

			@Override
			public void onPageScrollStateChanged(int state) {

			}
		});
for (String item : imageList) {
	gb = gb.add(image(item));
}
for (String item : videoList) {
	gb = gb.add(video(item,R.mipmap.default_video));
}
scroll_gallery_view = gb.build();

for complete fix, in ScrollGalleryView.java class @VEINHORN should change addOnPageChangeListener method to this:

public ScrollGalleryView addOnPageChangeListener(final ViewPager.OnPageChangeListener listener) {
        viewPager.clearOnPageChangeListeners();

        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
				if(listener!=null)
					listener.onPageScrolled(position, positionOffset, positionOffsetPixels);
            }

            @Override public void onPageSelected(int position) {
                scroll(thumbnailsContainer.getChildAt(position));
				if(listener!=null)
					listener.onPageSelected(position);
            }

            @Override public void onPageScrollStateChanged(int state) {
				if(listener!=null)
					listener.onPageScrollStateChanged(state);
            }
        });

        return this;
    }

mojtaba-yekta avatar Jun 25 '19 06:06 mojtaba-yekta

Yeah @VEINHORN pls, fix this issue and thanks to @mojtaba-yekta his solution is working.

LakshayDCoder avatar Jun 26 '19 12:06 LakshayDCoder