X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/2623e9c1957e95166e99adc81481f91136ac4453..ec6b9d7c70deb50152bfab5cb5f25c9a2dde28e7:/src/com/owncloud/android/ui/ExtendedListView.java diff --git a/src/com/owncloud/android/ui/ExtendedListView.java b/src/com/owncloud/android/ui/ExtendedListView.java index 5b7fb98a..20bf66f2 100644 --- a/src/com/owncloud/android/ui/ExtendedListView.java +++ b/src/com/owncloud/android/ui/ExtendedListView.java @@ -1,11 +1,10 @@ /* ownCloud Android client application * Copyright (C) 2012 Bartek Przybylski - * Copyright (C) 2012-2013 ownCloud Inc. + * Copyright (C) 2012-2015 ownCloud Inc. * * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. + * it under the terms of the GNU General Public License version 2, + * as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -24,16 +23,20 @@ import android.graphics.Canvas; import android.util.AttributeSet; import android.widget.ListView; +import com.owncloud.android.lib.common.utils.Log_OC; + /** * ListView allowing to specify the position of an item that should be centered in the visible area, if possible. - * + * * The cleanest way I found to overcome the problem due to getHeight() returns 0 until the view is really drawn. - * + * * @author David A. Velasco */ public class ExtendedListView extends ListView { - private int mPositionToSetAndCenter; + private static final String TAG = ExtendedListView.class.getSimpleName(); + + private int mPositionToSetAndCenter = 0; public ExtendedListView(Context context) { super(context); @@ -49,26 +52,28 @@ public class ExtendedListView extends ListView { /** * {@inheritDoc} - * - * + * + * */ @Override protected void onDraw (Canvas canvas) { super.onDraw(canvas); if (mPositionToSetAndCenter > 0) { + Log_OC.v(TAG, "Centering around position " + mPositionToSetAndCenter); this.setSelectionFromTop(mPositionToSetAndCenter, getHeight() / 2); mPositionToSetAndCenter = 0; } } - + /** * Public method to set the position of the item that should be centered in the visible area of the view. - * + * * The position is saved here and checked in onDraw(). - * + * * @param position Position (in the list of items) of the item to center in the visible area. */ public void setAndCenterSelection(int position) { mPositionToSetAndCenter = position; } -} + +} \ No newline at end of file