Я создал 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);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
PostKey=imgString.get(i);
Intent intent = new Intent(ProfileActivity.this, ViewPostActivity.class);
intent.putExtra("PostKey_profile",PostKey);
startActivity(intent);
finish();
}
});
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d(TAG, "onCancelled: query cancelled.");
}
});
}