猿问

网格图像适配器排序

我用图像构建了一些 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);





江户川乱折腾
浏览 146回答 1
1回答

陪伴而非守候

@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {&nbsp; &nbsp; PostKey=imgString.get(i);//here i is the position of the view in the adapter.正如你所做的那样:for(int i = imgString.size()-1; i >=0 ; i--){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 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);
随时随地看视频慕课网APP

相关分类

Java
我要回答