1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

ProgressBar Gingerbread

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von xNiemandx, 31.07.2011.

  1. xNiemandx, 31.07.2011 #1
    xNiemandx

    xNiemandx Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    87
    Erhaltene Danke:
    1
    Registriert seit:
    05.05.2010
    Heyho,

    ich habe eine ListActivity (und entsprechend auch ein ListView) mithilfe derer ich verschiedene Daten (aus einer Datenbank) anzeige. Dabei bilden immer 4 TextViews und 1 ProgressBar ein Item des ListViews. Um die Daten nun anzuzeigen, habe ich die Methode bindView von einem SimpleCursorAdapter überschrieben. Das Ganze sieht nun so aus:
    Code:
    public class CursorAdapter extends SimpleCursorAdapter {
        public CursorAdapter(Context context, int layout, Cursor c, String[] from,
                int[] to) {
            super(context, layout, c, from, to);
        }
    
        public void bindView(View view, Context context, Cursor cursor) {
            super.bindView(view, context, cursor);
            updateProgressbar(view, cursor);
        }
    
        private void updateProgressbar(View view, Cursor cursor) {
            ProgressBar progressBar = (ProgressBar) view
                    .findViewById(R.id.progressbarHorizontal);
    
            progressBar.setProgressDrawable(view.getResources().getDrawable(
                    R.drawable.greenprogress));
    
            progressBar.setMax(cursor.getInt(cursor.getColumnIndex("numberpages")));
            progressBar.setProgress(cursor.getInt(cursor
                    .getColumnIndex("currentpage")));
        }
    
    }
    Die ProgressBar ist per XML wie folgt definiert:
    Code:
        <ProgressBar style="?android:attr/progressBarStyleHorizontal"
            android:id="@+id/progressbarHorizontal" android:layout_width="match_parent"
            android:layout_height="wrap_content" android:progress="1" android:max="2"/> 
    Mit der ProgressBar tritt allerdings folgender Fehler auf:
    Verwende ich (Samsung i5700 - 2.2) den obigen Code, wird alles richtig dargestellt und auch der Fortschritt wird richtig eingefärbt. Probiert ein Freund hingegen den Code bzw. verwende ich den Code sowie einen Android 2.3.3 Emulator, passiert es, dass entweder der Fortschritt nicht angezeigt wird oder die ProgressBar nicht angezeigt wird.
    Lasse ich "setDrawable" weg, klappt alles - allerdings möchte ich die ProgressBar (abhängig von einem bestimmten Wert) immer anders einfärben.
    Wisst ihr eine Hilfestellung?

    Liebe Grüße.

    Edit: Crosspost bei StackOverflow: http://stackoverflow.com/questions/...etprogressdrawable-in-gingerbread-android-2-3

    Edit: Der Fehler tritt anscheinend doch nicht nur bei Gingerbread auf. Ich hab mir jetzt aber einfach selber eine ProgressBar gebaut - trotzdem Danke.
     
    Zuletzt bearbeitet: 31.07.2011

Diese Seite empfehlen