Ich habe eine Rasteransicht mit 6 Zellen im Adapter geladen. Wenn ich auf jede Zelle klicke, werde ich ein Bild hinzufügen, entweder indem ich Fotos mache oder Bilder aus der Galerie wähle. Nach der Auswahl der Bilder wird in der Rasteransicht nur noch die leere Seite angezeigt. obwohl ich Bild in einer Zelle setze, wenn ich für eine andere Zelle gehe, ist die vorherige Auswahl weg. wie man es macht? .. bitte hilf mir. Wenn ich etwas falsch mache, bitte führe mich.Benutzerdefinierte Adapter aktualisieren in gridview android
if (convertView == null) {
grid = new View(mContext);
grid = inflater.inflate(R.layout.fpc_document_view, null);
TextView textView = (TextView) grid.findViewById(R.id.grid_text);
imageView = (ImageView) grid.findViewById(R.id.grid_image);
if (fileList.size() == 0) {
textView.setText(DOCUMENT_NAME_LIST[position].toString());
for (int i = 0; i <= 6; i++) {
imageView.setImageResource(R.mipmap.ic_add_document);
}
} else {
Bitmap bitmapResized = null;
for (int i = 0; i < fileList.size(); i++) {
if (!fileList.get(i).equals("")) {
System.out.println("fileList here ,,,," + fileList.get(i).toString());
Drawable drawable = mContext.getResources().getDrawable(R.mipmap.ic_add_document);
bitmapResized = ((BitmapDrawable) drawable).getBitmap();
} else {
Uri selectedImageUri = Uri.fromFile(fileList.get(i));
bitmapResized = ImageRelatedStuff.convertURIToBitmap(selectedImageUri, mContext);
if (bitmapResized != null) {
Bitmap bitmapTemp = bitmapResized;
bitmapResized = null;
bitmapResized = ImageRelatedStuff.getResizedBitmap(bitmapTemp, 500, 500, 0);
}
}
imageView.setImageBitmap(ImageRelatedStuff.getRoundedCornerBitmap(bitmapResized, 15));
}
}
} else {
grid = convertView;
imageView = (ImageView) grid.findViewById(R.id.grid_image);
}
kein glück ... das gleiche ergebnis wieder .. kann pls sagen mir, was ist das problem hier? .. in meiner getcount-methode, rückgabewert ist immer 6. aber filesize ist 1, wenn ich ein bild aus der galerie gewählt .. dann y es ist immer 6-mal Schleife obwohl Dateigröße ist 1. – saravanan
@saravanan die Methode getCount() sollte fileList.size() zurückgeben, tun Sie das? Wenn sich die Anzahl der Dateilisten geändert hat, müssen Sie adapter.notifyDataSetChanged() – HelloBird
s aufrufen. aber zuerst sollte ich leere Bild 6 Symbole auf jeder 6 Zellen zeigen. Ich muss auf jede Zelle klicken, um ein Bild zu setzen. Wenn ich filelist.size() setze, wird es zum ersten Mal nur 1 Zelle anzeigen, zum 2. Mal werden nur 2 Zellen angezeigt ... so weiter. wie man alle 6 Ikonen visble macht und auch ich könnte Bilder zu jeder Zelle hinzufügen? .. können Sie mich? .. pls helfen mir .. – saravanan