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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1229 - (hide 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 torben 790 package dk.thoerup.side9;
2    
3     import android.app.Activity;
4     import android.content.Intent;
5     import android.os.Bundle;
6 torben 1212 import android.util.Log;
7 torben 1185 import android.view.Menu;
8     import android.view.MenuItem;
9 torben 790 import android.view.View;
10 torben 1229 import android.widget.AbsListView;
11 torben 790 import android.widget.AdapterView;
12     import android.widget.GridView;
13     import android.widget.AdapterView.OnItemClickListener;
14 torben 1212 import dk.thoerup.androidutils.CheckUpdates;
15 torben 790
16     public class PictureOverview extends Activity {
17 torben 1185 final static int MENU_DATE = 0;
18     final static int MENU_CAPTION = 1;
19 torben 790
20 torben 1185 int current_order = MENU_DATE;
21    
22 torben 927 ImageAdapter mImages;
23 torben 790
24     @Override
25     public void onCreate(Bundle savedInstanceState) {
26     super.onCreate(savedInstanceState);
27     setContentView(R.layout.pictureoverview);
28    
29 torben 927 mImages = new ImageAdapter(this);
30 torben 790
31     GridView gridview = (GridView) findViewById(R.id.gridview);
32 torben 927 gridview.setAdapter(mImages);
33 torben 790
34     gridview.setOnItemClickListener(new OnItemClickListener() {
35     public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
36    
37 torben 925 Intent i = new Intent(PictureOverview.this, dk.thoerup.side9.PictureView.class);
38 torben 1185 i.putExtra("images", mImages.getImages());
39 torben 925 i.putExtra("index", position);
40 torben 790
41     startActivity(i);
42     }
43     });
44 torben 912
45 torben 1229 gridview.setOnScrollListener( new ThumbScrollListener() );
46 torben 1185
47 torben 1229
48 torben 912 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 torben 1185 }
51 torben 1212
52     @Override
53     public void onDestroy() {
54     super.onDestroy();
55     mImages.cleanUp();
56     }
57 torben 790
58 torben 1185 @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 torben 790 }
65 torben 1185
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 torben 1229
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 torben 1185
118 torben 790 }

  ViewVC Help
Powered by ViewVC 1.1.20