如何更新视图pager.?

时间:2015-06-21 04:38:40

标签: android bitmap android-viewpager

我有9张图片的View-pager。我正在使用位图在视图中设置图像。当我第一次从画廊中选择九个图像时,它完美地显示了所有九个图像。此外,当我从图库中选择另外九个图像时,保持第一个或第二个视图相同,查看页面显示更新图像。但我的问题是当我试图用第一和第二改变所有九个图像。它们显示OutOfMemoryEror之类的错误。所以我的问题是。如何在view-pager中更新第一个和第二个(下一个)视图。任何人都可以帮助我。比x提前。

活动代码

if(ab != null){

      arr = ab.split(",");        

      for(int i = 0; i <arr.length; i++){                     
        //  Toast.makeText(getApplicationContext(), "done: "+ arr[i], Toast.LENGTH_LONG).show();

        imgFile = new  File(arr[i]);
        if(imgFile.exists()){
           myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());             

            System.out.println("This my - bit : "+myBitmap+"ara - lenth : "+arr.length);

            bitmapArray.add(myBitmap);

            System.out.println("This bit-aray : "+bitmapArray.size()+" : "+bitmapArray.size() + "ara pos : "+arr[i]);

      //Toast.makeText(getApplicationContext(), "This is bitmap array : "+ bitmapArray, Toast.LENGTH_LONG).show();           
        }

            }
    }else{

    }

适配器代码

if(l == 1){
//  layout.removeView(imageView); 
//  container.removeView(layout);
  if(bitmapArray != null){

     for(int j = 0; j < bitmapArray.size(); j++){

         if(j == position){

                j = position;
                imageView.setImageBitmap(bitmapArray.get(j));
            }
     }
     }   //Toast.makeText(getApplicationContext(), ""+bitmapArray.get(j)+"size "+bitmapArray.size(), Toast.LENGTH_SHORT).show();

 else{
     imageView.setImageResource(res[position]);
     bitarray.clear();
     bitmapArray.clear();
     sharedpreferences.edit().remove("imgpath").commit();
     }
   }
 if(l == 2){

//layout.removeView(imageView); 
//container.removeView(layout);

  if(bitmapArray != null){

         for(int j = 0; j < bitmapArray.size(); j++){

             if(j == position){

                    j = position;
                    imageView.setImageBitmap(bitmapArray.get(j));
                }
         }
         }   //Toast.makeText(getApplicationContext(), ""+bitmapArray.get(j)+"size "+bitmapArray.size(), Toast.LENGTH_SHORT).show();

     else{
         imageView.setImageResource(res[position]);
         bitarray.clear();
         bitmapArray.clear();
         sharedpreferences.edit().remove("imgpath").commit();
     }

 }

0 个答案:

没有答案