-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()
を使用することができます
を呼び出すことができます
– vishwa