当ViewPager中有图像时,触摸事件可以正常工作。 但是,当没有图像/空文件夹时,Touch事件不起作用。
我的应用根据用户选择的文件夹将图像加载到ViewPager。
代码:
的xml:
<test.com.ExtendedViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="514dp"
android:background="@drawable/no_image"
android:visibility="gone" />
如您所见,ViewPager在文件夹/目录为空时显示默认图像。但是,Touch事件无法正常工作。
public void LoadViewPager() {
ImagePathList = new ArrayList<String>();
for (File file : listFile){
ImagePathList.add(file.getAbsolutePath());
}
mViewPager.setAdapter(new ViewPagerAdapter(MainActivity.this, ImagePathList)); //Custom ViewPager Adapter
mViewPager.setCurrentItem(LastItemPos);
适配器:
@Override
public View instantiateItem(final View view, int position) {
final Zoom_ScaleImageView imageView = new Zoom_ScaleImageView(activity);
imageLoader.loadImage(AdapterImageList.get(position), new SimpleImageLoadingListener() {
@Override
public void onLoadingComplete(String path, View NoView, Bitmap bitmap) {
imageView.setImageBitmap(bitmap);
((ViewPager) view).addView(imageView, 0);
}
});
return imageView;
}
如果没有图像,如何让View事件在ViewPager中运行?
谢谢
编辑: 请参阅下面的解决方案......
答案 0 :(得分:1)
我找到了解决方案。它可能会帮助别人。它可能不是最好的解决方案,但它对我有用。
基本上, 我检查一下arraylist是否&gt; 0或不。 如果不是> 0, 然后加载无图像可绘制。
public void LoadViewPager() {
if(ImagePathList.size() > 0)
mViewPager.setAdapter(new ViewPagerAdapter(MainActivity.this, ImagePathList));
else
{
//load the drawable
ImagePathList.add("drawable")
mViewPager.setAdapter(new ViewPagerAdapter(MainActivity.this, ImagePathList));
}
}
答案 1 :(得分:0)
如果你在xml文件中将android:visibility =“gone”更改为android:visibility =“invisible”,它可能会有效。因为如果它消失了,就无法触及。