--- android/Side9/src/dk/thoerup/side9/PictureOverview.java 2011/10/21 04:59:27 1621 +++ android/Side9/src/dk/thoerup/side9/PictureOverview.java 2011/10/25 17:24:09 1622 @@ -8,9 +8,11 @@ import android.view.MenuItem; import android.view.View; import android.widget.AbsListView; +import android.widget.Toast; +import android.widget.AbsListView.OnScrollListener; import android.widget.AdapterView; -import android.widget.GridView; import android.widget.AdapterView.OnItemClickListener; +import android.widget.GridView; import dk.thoerup.androidutils.CheckUpdates; public class PictureOverview extends Activity { @@ -31,6 +33,7 @@ GridView gridview = (GridView) findViewById(R.id.gridview); gridview.setAdapter(mImages); + gridview.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View v, int position, long id) { @@ -98,14 +101,39 @@ } } - class ThumbScrollListener implements AbsListView.OnScrollListener { + + class ThumbScrollListener implements AbsListView.OnScrollListener { + + Toast captionToast; + int prevFirstVisibleItem = 0; @Override public void onScrollStateChanged(AbsListView view, int scrollState) { Log.e("Side9", "state=" + scrollState); if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) { - int pos = view.getLastVisiblePosition(); - mImages.preloadImages(pos, 18); + + int first = view.getFirstVisiblePosition(); + int last = view.getLastVisiblePosition(); + mImages.preloadImages(last, 18); + + + + String txt; + + if (current_order == MENU_DATE) + txt = mImages.getItemFilename(first) + " - " + mImages.getItemFilename(last); + else + txt = mImages.getItemCaption(first) + " - " + mImages.getItemCaption(last); + + if (captionToast == null) { + captionToast = Toast.makeText(PictureOverview.this, "", Toast.LENGTH_SHORT); + } + captionToast.cancel(); + captionToast.setText(txt); + captionToast.show(); + + + } }