/[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 1622 - (hide annotations) (download)
Tue Oct 25 17:24:09 2011 UTC (12 years, 7 months ago) by torben
File size: 3847 byte(s)
bump to version 25: When scrolling thr
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 1622 import android.widget.Toast;
12     import android.widget.AbsListView.OnScrollListener;
13 torben 790 import android.widget.AdapterView;
14 torben 1622 import android.widget.AdapterView.OnItemClickListener;
15 torben 790 import android.widget.GridView;
16 torben 1212 import dk.thoerup.androidutils.CheckUpdates;
17 torben 790
18     public class PictureOverview extends Activity {
19 torben 1185 final static int MENU_DATE = 0;
20     final static int MENU_CAPTION = 1;
21 torben 790
22 torben 1185 int current_order = MENU_DATE;
23    
24 torben 927 ImageAdapter mImages;
25 torben 790
26     @Override
27     public void onCreate(Bundle savedInstanceState) {
28     super.onCreate(savedInstanceState);
29     setContentView(R.layout.pictureoverview);
30    
31 torben 927 mImages = new ImageAdapter(this);
32 torben 790
33     GridView gridview = (GridView) findViewById(R.id.gridview);
34 torben 927 gridview.setAdapter(mImages);
35 torben 790
36 torben 1622
37 torben 790 gridview.setOnItemClickListener(new OnItemClickListener() {
38     public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
39    
40 torben 925 Intent i = new Intent(PictureOverview.this, dk.thoerup.side9.PictureView.class);
41 torben 1185 i.putExtra("images", mImages.getImages());
42 torben 925 i.putExtra("index", position);
43 torben 790
44     startActivity(i);
45     }
46     });
47 torben 912
48 torben 1229 gridview.setOnScrollListener( new ThumbScrollListener() );
49 torben 1185
50 torben 1229
51 torben 912 CheckUpdates update = new CheckUpdates();
52     update.checkForUpdates(this, "http://t-hoerup.dk/android/side9/version.txt", "Side 9 Pigen", "http://t-hoerup.dk/android/side9/Side9.apk");
53 torben 1185 }
54 torben 1212
55     @Override
56     public void onDestroy() {
57     super.onDestroy();
58     mImages.cleanUp();
59     }
60 torben 790
61 torben 1185 @Override
62     public boolean onCreateOptionsMenu(Menu menu) {
63     menu.add(0,MENU_DATE,0, "Order by date");
64     menu.add(0,MENU_CAPTION,0, "Order by caption");
65    
66     return true;
67 torben 790 }
68 torben 1185
69    
70    
71     @Override
72     public boolean onPrepareOptionsMenu(Menu menu) {
73     MenuItem item = menu.findItem(MENU_DATE);
74     if (current_order == MENU_DATE)
75     item.setEnabled(false);
76     else
77     item.setEnabled(true);
78    
79     item = menu.findItem(MENU_CAPTION);
80     if (current_order == MENU_CAPTION)
81     item.setEnabled(false);
82     else
83     item.setEnabled(true);
84    
85     return true;
86     }
87    
88     @Override
89     public boolean onOptionsItemSelected(MenuItem item) {
90     switch( item.getItemId() ) {
91     case MENU_DATE:
92     mImages.orderByPath();
93     current_order = MENU_DATE;
94     return true;
95     case MENU_CAPTION:
96     mImages.orderByCaption();
97     current_order = MENU_CAPTION;
98     return true;
99     default:
100     return super.onOptionsItemSelected(item);
101     }
102     }
103 torben 1229
104 torben 1622
105     class ThumbScrollListener implements AbsListView.OnScrollListener {
106    
107     Toast captionToast;
108    
109 torben 1229 int prevFirstVisibleItem = 0;
110     @Override
111     public void onScrollStateChanged(AbsListView view, int scrollState) {
112 torben 1230 Log.e("Side9", "state=" + scrollState);
113     if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
114 torben 1622
115     int first = view.getFirstVisiblePosition();
116     int last = view.getLastVisiblePosition();
117     mImages.preloadImages(last, 18);
118    
119    
120    
121     String txt;
122    
123     if (current_order == MENU_DATE)
124     txt = mImages.getItemFilename(first) + " - " + mImages.getItemFilename(last);
125     else
126     txt = mImages.getItemCaption(first) + " - " + mImages.getItemCaption(last);
127    
128     if (captionToast == null) {
129     captionToast = Toast.makeText(PictureOverview.this, "", Toast.LENGTH_SHORT);
130     }
131     captionToast.cancel();
132     captionToast.setText(txt);
133     captionToast.show();
134    
135    
136    
137 torben 1230 }
138    
139 torben 1229 }
140    
141     @Override
142     public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
143     }
144     }
145 torben 1185
146 torben 790 }

  ViewVC Help
Powered by ViewVC 1.1.20