/[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 1622 - (show annotations) (download)
Tue Oct 25 17:24:09 2011 UTC (12 years, 6 months ago) by torben
File size: 3847 byte(s)
bump to version 25: When scrolling thr
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.Toast;
12 import android.widget.AbsListView.OnScrollListener;
13 import android.widget.AdapterView;
14 import android.widget.AdapterView.OnItemClickListener;
15 import android.widget.GridView;
16 import dk.thoerup.androidutils.CheckUpdates;
17
18 public class PictureOverview extends Activity {
19 final static int MENU_DATE = 0;
20 final static int MENU_CAPTION = 1;
21
22 int current_order = MENU_DATE;
23
24 ImageAdapter mImages;
25
26 @Override
27 public void onCreate(Bundle savedInstanceState) {
28 super.onCreate(savedInstanceState);
29 setContentView(R.layout.pictureoverview);
30
31 mImages = new ImageAdapter(this);
32
33 GridView gridview = (GridView) findViewById(R.id.gridview);
34 gridview.setAdapter(mImages);
35
36
37 gridview.setOnItemClickListener(new OnItemClickListener() {
38 public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
39
40 Intent i = new Intent(PictureOverview.this, dk.thoerup.side9.PictureView.class);
41 i.putExtra("images", mImages.getImages());
42 i.putExtra("index", position);
43
44 startActivity(i);
45 }
46 });
47
48 gridview.setOnScrollListener( new ThumbScrollListener() );
49
50
51 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 }
54
55 @Override
56 public void onDestroy() {
57 super.onDestroy();
58 mImages.cleanUp();
59 }
60
61 @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 }
68
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
104
105 class ThumbScrollListener implements AbsListView.OnScrollListener {
106
107 Toast captionToast;
108
109 int prevFirstVisibleItem = 0;
110 @Override
111 public void onScrollStateChanged(AbsListView view, int scrollState) {
112 Log.e("Side9", "state=" + scrollState);
113 if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
114
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 }
138
139 }
140
141 @Override
142 public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
143 }
144 }
145
146 }

  ViewVC Help
Powered by ViewVC 1.1.20