我用图像构建了一些 gridView,一切正常。我有一组图像,我可以点击它们中的每一个,然后根据需要继续进行另一项活动。问题是 - 当我向适配器添加新图像时 - 它被添加到堆栈的末尾。我怎样才能重新排列图像的显示从新到旧而不是像现在一样从旧到新。(我自己做了一些事情(正如你在评论中看到的),它的显示就像我想要的,但是当我点击图片时,我得到了错误的图片):final ArrayList<String> imgString = new ArrayList<>(); DatabaseReference reference = FirebaseDatabase.getInstance().getReference(); Query query = reference .child("user_photos") .child(FirebaseAuth.getInstance().getCurrentUser().getUid()); query.addListenerForSingleValueEvent(new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { for ( DataSnapshot singleSnapshot : dataSnapshot.getChildren()){ // photos.add(singleSnapshot.getValue(Photo.class)); imgString.add(singleSnapshot.child("postimage").getValue().toString()); } //setup our image grid int gridWidth = getResources().getDisplayMetrics().widthPixels; int imageWidth = gridWidth/NUM_GRID_COLUMNS; gridView.setColumnWidth(imageWidth); final ArrayList<String> imgUrls = new ArrayList<String>(); for(int i = 0; i < imgString.size(); i++){ imgUrls.add(imgString.get(i));// for(int i = imgString.size()-1; i >=0 ; i--){// imgUrls.add(imgString.get(i)); } GridImageAdapter adapter = new GridImageAdapter(ProfileActivity.this,R.layout.layout_grid_imageview,"", imgUrls); gridView.setAdapter(adapter);
1 回答
![?](http://img1.sycdn.imooc.com/545863c10001865402200220-100-100.jpg)
陪伴而非守候
TA贡献1757条经验 获得超8个赞
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
PostKey=imgString.get(i);//here i is the position of the view in the adapter.
正如你所做的那样:
for(int i = imgString.size()-1; i >=0 ; i--){
imgUrls.add(imgString.get(i));//imgUrls.get(0) stored imgString.get(imgString.size()-1)
当您单击 0 位置的项目时,其 imgUrls 不指向imgString.get(0),而是imgString.get(imgString.size()-1)。
编辑:试试这个:
PostKey=imgString.get(imgString.size()-1-i);
添加回答
举报
0/150
提交
取消