/[projects]/android/Side9/src/dk/thoerup/side9/PictureOverview.java
ViewVC logotype

Contents of /android/Side9/src/dk/thoerup/side9/PictureOverview.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1229 - (show annotations) (download)
Tue Feb 15 09:21:17 2011 UTC (13 years, 3 months ago) by torben
File size: 3193 byte(s)
Experimental: pre-loading images ahead of the scrollview
1 package dk.thoerup.side9;
2
3 import android.app.Activity;
4 import android.content.Intent;
5 import android.os.Bundle;
6 import android.util.Log;
7 import android.view.Menu;
8 import android.view.MenuItem;
9 import android.view.View;
10 import android.widget.AbsListView;
11 import android.widget.AdapterView;
12 import android.widget.GridView;
13 import android.widget.AdapterView.OnItemClickListener;
14 import dk.thoerup.androidutils.CheckUpdates;
15
16 public class PictureOverview extends Activity {
17 final static int MENU_DATE = 0;
18 final static int MENU_CAPTION = 1;
19
20 int current_order = MENU_DATE;
21
22 ImageAdapter mImages;
23
24 @Override
25 public void onCreate(Bundle savedInstanceState) {
26 super.onCreate(savedInstanceState);
27 setContentView(R.layout.pictureoverview);
28
29 mImages = new ImageAdapter(this);
30
31 GridView gridview = (GridView) findViewById(R.id.gridview);
32 gridview.setAdapter(mImages);
33
34 gridview.setOnItemClickListener(new OnItemClickListener() {
35 public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
36
37 Intent i = new Intent(PictureOverview.this, dk.thoerup.side9.PictureView.class);
38 i.putExtra("images", mImages.getImages());
39 i.putExtra("index", position);
40
41 startActivity(i);
42 }
43 });
44
45 gridview.setOnScrollListener( new ThumbScrollListener() );
46
47
48 CheckUpdates update = new CheckUpdates();
49 update.checkForUpdates(this, "http://t-hoerup.dk/android/side9/version.txt", "Side 9 Pigen", "http://t-hoerup.dk/android/side9/Side9.apk");
50 }
51
52 @Override
53 public void onDestroy() {
54 super.onDestroy();
55 mImages.cleanUp();
56 }
57
58 @Override
59 public boolean onCreateOptionsMenu(Menu menu) {
60 menu.add(0,MENU_DATE,0, "Order by date");
61 menu.add(0,MENU_CAPTION,0, "Order by caption");
62
63 return true;
64 }
65
66
67
68 @Override
69 public boolean onPrepareOptionsMenu(Menu menu) {
70 MenuItem item = menu.findItem(MENU_DATE);
71 if (current_order == MENU_DATE)
72 item.setEnabled(false);
73 else
74 item.setEnabled(true);
75
76 item = menu.findItem(MENU_CAPTION);
77 if (current_order == MENU_CAPTION)
78 item.setEnabled(false);
79 else
80 item.setEnabled(true);
81
82 return true;
83 }
84
85 @Override
86 public boolean onOptionsItemSelected(MenuItem item) {
87 switch( item.getItemId() ) {
88 case MENU_DATE:
89 mImages.orderByPath();
90 current_order = MENU_DATE;
91 return true;
92 case MENU_CAPTION:
93 mImages.orderByCaption();
94 current_order = MENU_CAPTION;
95 return true;
96 default:
97 return super.onOptionsItemSelected(item);
98 }
99 }
100
101 class ThumbScrollListener implements AbsListView.OnScrollListener {
102 int prevFirstVisibleItem = 0;
103 @Override
104 public void onScrollStateChanged(AbsListView view, int scrollState) {
105 // TODO Auto-generated method stub
106 }
107
108 @Override
109 public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
110
111 if (firstVisibleItem != prevFirstVisibleItem) {
112 prevFirstVisibleItem = firstVisibleItem;
113 mImages.preloadImages(firstVisibleItem + visibleItemCount, 9);
114 }
115 }
116 }
117
118 }

  ViewVC Help
Powered by ViewVC 1.1.20