2017-08-18 11 views
-2

私は並べ替え後にグリッドビューでarraylistを設定しています。グリッドビューの順序でarraylistを取得したいと思います。私はgetChildAt(位置)を使用しましたが、ビューを返しています。arraylistを取得する方法<bitmap>からgridview

for (int i = 0; i < smallimages.size(); i++) { 
    //  ArrayList<View>bh=new ArrayList<>(9); 
     beforeshuffle.add(smallimages.get(i)); 
     // SmallImageAdapter ad=new SmallImageAdapter(c,beforeshuffle); 


    } 


    Collections.shuffle(smallimages); 
    image_grid.setAdapter(new SmallImageAdapter(this, smallimages)); 
    // image_grid.setAdapter(new SmallImageAdapter()); 

    image_grid.setNumColumns((int) Math.sqrt(smallimages.size())); 
    image_grid.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     int counter = 0; 
     int firstclick; 

     @Override 
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
      counter++; 
      if (counter % 2 == 0) { 
       firstclick = position; 
       Bitmap data1 = smallimages.get(position); 

      } else { 


        Bitmap swapImage = smallimages.get(position); 
        smallimages.set(position, smallimages.get(firstclick)); 
        smallimages.set(firstclick, swapImage); 

        image_grid.invalidateViews(); 


      } 
      // ArrayList<View>h=new ArrayList<View>(9); 

      for (int i=0;i<smallimages.size();i++) { 
       aftershuffle.set(i, smallimages.get(i)); 

      } 
      } 

    }); 

このaftershulffleは画像が グリッドビューの場所です同じ順序ではない:

は、ここに私のコードです。 imageView.setTag(person):私は

beforeshuffle.get(1).sameAs(aftershuffle.get(1)) 

をチェックするときだから、あなたは元の場合は、カスタムクラスオブジェクトを格納するためのビューにsetTag()getTag()を使用することができます

答えて

関連する問題