2015-03-31 19 views
2

當ViewPager中有圖像時,T​​ouch Event可以正常工作。 但是,當沒有圖像/空文件夾時,Touch事件不起作用。當Viewpager爲空時,不會調用OnTouch事件

我的應用根據用戶選擇的文件夾將圖像加載到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; 
    } 

我怎樣才能使ViewPager觸摸事件時,工作沒有圖像?

謝謝

編輯: 見下面我的解決方案...

+0

你如何設置觸摸監聽器? – androidevil 2015-03-31 19:56:46

+0

嘗試將圖像放入LinearLayout中,並在佈局上實現onTouchListener。 – JavaJade 2015-03-31 20:01:02

+0

觸摸事件在這個類Zoom_ScaleImageView中。這是非常漫長的,這就是爲什麼我沒有包括它。我從其中一個開源獲得並對其進行了修改。我使用這個開源課程的原因是因爲它有雙擊縮放。謝謝 – Iam1414 2015-03-31 20:05:40

回答

0

如果你改變機器人也許工作:知名度= 「水漲船高」 到Android:能見度在xml文件= 「隱形」。因爲如果它消失了,它就不會被觸及。

+0

感謝您的答案,但事實並非如此,因爲我通過編程將其設置爲可見狀態。背景圖像「no.image」顯示出來。我改變了你的建議,但它仍然是一樣的結果。謝謝 – Iam1414 2015-04-01 11:50:19

1

我想出了一個解決方案。它可能會幫助別人。這可能不是最好的解決方案,但它爲我工作。

基本上, 我檢查數組是否大於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)); 
     } 

} 
相關問題