GridView & getView Aufruf

P

padde83

Ambitioniertes Mitglied
0
Hallo zusammen,

ich hatte gestern ein ähnliches Problem mit der Listview, nach längerem rumtesten konnte ich es lösen.:)
Da ich einen ViewFlipper verwende der zwischen ListView und GridView hin und her wechselt, muss ich mich nun auch um die GridView kümmern.:rolleyes:

Aktuell bekomme ich folgenden Ausgabe in der Konsole in der Listendarstellung
Code:
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/ListAdapter( 4287): getView Aufruf fuer Position[0]
D/ListAdapter( 4287): getView Aufruf fuer Position[1]
D/ListAdapter( 4287): getView Aufruf fuer Position[2]
D/ListAdapter( 4287): getView Aufruf fuer Position[3]
D/ListAdapter( 4287): getView Aufruf fuer Position[4]
D/ListAdapter( 4287): getView Aufruf fuer Position[5]
D/dalvikvm( 4287): GC freed 2108 objects / 116264 bytes in 80ms
D/dalvikvm( 4287): GC freed 510 objects / 246224 bytes in 70ms
D/dalvikvm( 4287): GC freed 520 objects / 210336 bytes in 66ms
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/dalvikvm( 4287): GC freed 1450 objects / 172048 bytes in 51ms
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
Und schließlich beim Wechsel auf die GridView:
Code:
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[1]
D/GridAdapter( 4287): Aufruf getView fuer Position[2]
D/GridAdapter( 4287): Aufruf getView fuer Position[3]
D/GridAdapter( 4287): Aufruf getView fuer Position[4]
D/GridAdapter( 4287): Aufruf getView fuer Position[5]
D/GridAdapter( 4287): Aufruf getView fuer Position[6]
D/GridAdapter( 4287): Aufruf getView fuer Position[7]
D/GridAdapter( 4287): Aufruf getView fuer Position[8]
D/GridAdapter( 4287): Aufruf getView fuer Position[9]
D/GridAdapter( 4287): Aufruf getView fuer Position[10]
D/GridAdapter( 4287): Aufruf getView fuer Position[11]
D/GridAdapter( 4287): Aufruf getView fuer Position[12]
D/GridAdapter( 4287): Aufruf getView fuer Position[13]
D/GridAdapter( 4287): Aufruf getView fuer Position[14]
D/GridAdapter( 4287): Aufruf getView fuer Position[15]
D/GridAdapter( 4287): Aufruf getView fuer Position[16]
D/GridAdapter( 4287): Aufruf getView fuer Position[17]
D/GridAdapter( 4287): Aufruf getView fuer Position[18]
D/GridAdapter( 4287): Aufruf getView fuer Position[19]
W/InputManagerService( 2100): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@43c9d170
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/dalvikvm( 4287): GC freed 2692 objects / 789584 bytes in 61ms
D/dalvikvm( 4287): GC freed 527 objects / 27944 bytes in 64ms
D/dalvikvm( 4287): GC freed 562 objects / 577768 bytes in 68ms
D/dalvikvm( 4287): GC freed 125 objects / 5368 bytes in 85ms
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/dalvikvm( 4287): GC freed 2607 objects / 232624 bytes in 85ms
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
D/GridAdapter( 4287): Aufruf getView fuer Position[0]
Zu erkennen ist das der Aufruf in dem GridAdapter von getView zuoft auf die ErstePosition stattfindet, was bei mir wiedereinmal zu einer "RejectedExecutionException" führt. :eek:

Woran kann das Liegen?

Gruß & Danke
padde83
 
Hier einmal mein GridLayout:
Code:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <GridView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/grid:layout" android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:padding="10dp"
        android:verticalSpacing="10dp" android:horizontalSpacing="10dp"
        android:numColumns="auto_fit" android:columnWidth="60dp"
        android:stretchMode="columnWidth" android:gravity="center" />
</LinearLayout>
Und der dazugehörige Adapter:
Code:
public class GridAdapter extends ArrayAdapter<Item>
{
    private Context context;

    public static boolean mBusy = false;

    public GridAdapter(Context context, int textViewResourceId, List<Item> objects)
    {
        super(context, textViewResourceId, objects);
        this.context = context;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent)
    {

            Log.d("GridAdapter", "Aufruf getView fuer Position[" + position + "]");
        final Item item = getItem(position);

        ImageView imageView;
        if (convertView == null)
        {
            imageView = new ImageView(context);
            imageView.setLayoutParams(new GridView.LayoutParams(70, 70));
            imageView.setAdjustViewBounds(false);
            imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
            imageView.setPadding(4, 4, 4, 4);
            imageView.setImageResource(R.drawable.loading);
        }
        else
        {
            imageView = (ImageView) convertView;
        }
        if (!mBusy)
        {
            try
            {
                //start AsyncTask
            }
            catch (RejectedExecutionException e)
            {
                ...
            }
        }
        else
        {
            imageView.setImageResource(R.drawable.loading);
        }
        return imageView;
    }
}
 
Niemand eine Idee?
Zu wenig Informationen zuviel? :)

padde83
 
Ok also habe mal den eigens implementierten OnScrollListener vom GridView entfernt
und siehe da es gibt keine "RejectedExecutionException".

Aber getView wird immernoch mehrmals für die selbe Position aufgerufen :(
 

Ähnliche Themen

Helmut1A
  • Helmut1A
Antworten
7
Aufrufe
1.128
Helmut1A
Helmut1A
M
  • maksimilian
Antworten
15
Aufrufe
1.700
maksimilian
M
W
  • waltsoft
Antworten
4
Aufrufe
938
waltsoft
W
Zurück
Oben Unten