diff options
| -rw-r--r-- | res/layout/main.xml | 18 | ||||
| -rw-r--r-- | src/cgeo/geocaching/cgeo.java | 105 |
2 files changed, 72 insertions, 51 deletions
diff --git a/res/layout/main.xml b/res/layout/main.xml index a5fec4c..e9e49af 100644 --- a/res/layout/main.xml +++ b/res/layout/main.xml @@ -34,7 +34,8 @@ android:layout_width="74dip" android:layout_height="wrap_content" android:layout_margin="4dip" - android:orientation="vertical" > + android:orientation="vertical" + android:onClick="cgeoFindOnMap" > <View android:id="@+id/map" style="@style/icon_mainscreen" @@ -47,7 +48,8 @@ android:layout_width="74dip" android:layout_height="wrap_content" android:layout_margin="4dip" - android:orientation="vertical" > + android:orientation="vertical" + android:onClick="cgeoFindNearest" > <View android:id="@+id/nearest" style="@style/icon_mainscreen" @@ -59,7 +61,8 @@ <RelativeLayout android:layout_width="74dip" android:layout_height="wrap_content" - android:layout_margin="4dip" > + android:layout_margin="4dip" + android:onClick="cgeoFindByOffline" > <TextView android:id="@+id/offline_count" style="@style/icon_mainscreen_count" /> <LinearLayout @@ -87,7 +90,8 @@ android:layout_width="74dip" android:layout_height="wrap_content" android:layout_margin="4dip" - android:orientation="vertical" > + android:orientation="vertical" + android:onClick="cgeoSearch" > <View android:id="@+id/advanced_button" style="@style/icon_mainscreen" @@ -100,7 +104,8 @@ android:layout_width="74dip" android:layout_height="wrap_content" android:layout_margin="4dip" - android:orientation="vertical" > + android:orientation="vertical" + android:onClick="cgeoPoint" > <View android:id="@+id/any_button" style="@style/icon_mainscreen" @@ -113,7 +118,8 @@ android:layout_width="74dip" android:layout_height="wrap_content" android:layout_margin="4dip" - android:orientation="vertical" > + android:orientation="vertical" + android:onClick="cgeoFilter" > <View android:id="@+id/filter_button" style="@style/icon_mainscreen" diff --git a/src/cgeo/geocaching/cgeo.java b/src/cgeo/geocaching/cgeo.java index ceaf3b9..d4defc7 100644 --- a/src/cgeo/geocaching/cgeo.java +++ b/src/cgeo/geocaching/cgeo.java @@ -27,6 +27,7 @@ import android.view.ContextMenu; import android.view.Menu; import android.view.MenuItem; import android.view.View; +import android.view.View.OnClickListener; import android.widget.RelativeLayout; import android.widget.TextView; import cgeo.geocaching.activity.AbstractActivity; @@ -452,32 +453,47 @@ public class cgeo extends AbstractActivity { final View findOnMap = findViewById(R.id.map); findOnMap.setClickable(true); - findOnMap.setOnClickListener(new cgeoFindOnMapListener()); + findOnMap.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + cgeoFindOnMap(v); + } + }); final View findByOffline = findViewById(R.id.search_offline); findByOffline.setClickable(true); - findByOffline.setOnClickListener(new cgeoFindByOfflineListener()); + findByOffline.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + cgeoFindByOffline(v); + } + }); registerForContextMenu(findByOffline); (new countBubbleUpdate()).start(); final View advanced = findViewById(R.id.advanced_button); advanced.setClickable(true); - advanced.setOnClickListener(new cgeoSearchListener()); + advanced.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + cgeoSearch(v); + } + }); final View any = findViewById(R.id.any_button); any.setClickable(true); - any.setOnClickListener(new cgeoPointListener()); + any.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + cgeoPoint(v); + } + }); final View filter = findViewById(R.id.filter_button); + filter.setClickable(true); registerForContextMenu(filter); filter.setOnClickListener(new View.OnClickListener() { - - public void onClick(View view) { - openContextMenu(view); + public void onClick(View v) { + openContextMenu(v); } }); - filter.setClickable(true); setFilterTitle(); } @@ -501,7 +517,11 @@ public class cgeo extends AbstractActivity { if (geo.latitudeNow != null && geo.longitudeNow != null) { View findNearest = findViewById(R.id.nearest); findNearest.setClickable(true); - findNearest.setOnClickListener(new cgeoFindNearestListener()); + findNearest.setOnClickListener(new OnClickListener() { + public void onClick(View v) { + cgeoFindNearest(v); + } + }); findNearest.setBackgroundResource(R.drawable.main_nearby); String satellites = null; @@ -569,50 +589,45 @@ public class cgeo extends AbstractActivity { } } - private class cgeoFindNearestListener implements View.OnClickListener { - - public void onClick(View arg0) { - if (geo == null) { - return; - } - - final Intent cachesIntent = new Intent(context, cgeocaches.class); - cachesIntent.putExtra("type", "nearest"); - cachesIntent.putExtra("latitude", geo.latitudeNow); - cachesIntent.putExtra("longitude", geo.longitudeNow); - cachesIntent.putExtra("cachetype", settings.cacheType); - context.startActivity(cachesIntent); - } + public void cgeoFindOnMap(View v) { + findViewById(R.id.map).setPressed(true); + context.startActivity(new Intent(context, settings.getMapFactory().getMapClass())); } - - private class cgeoFindOnMapListener implements View.OnClickListener { - - public void onClick(View arg0) { - context.startActivity(new Intent(context, settings.getMapFactory().getMapClass())); + + public void cgeoFindNearest(View v) { + if (geo == null) { + return; } - } - - private class cgeoFindByOfflineListener implements View.OnClickListener { - public void onClick(View arg0) { - final Intent cachesIntent = new Intent(context, cgeocaches.class); - cachesIntent.putExtra("type", "offline"); - context.startActivity(cachesIntent); - } + findViewById(R.id.nearest).setPressed(true); + final Intent cachesIntent = new Intent(context, cgeocaches.class); + cachesIntent.putExtra("type", "nearest"); + cachesIntent.putExtra("latitude", geo.latitudeNow); + cachesIntent.putExtra("longitude", geo.longitudeNow); + cachesIntent.putExtra("cachetype", settings.cacheType); + context.startActivity(cachesIntent); } - private class cgeoSearchListener implements View.OnClickListener { - - public void onClick(View arg0) { - context.startActivity(new Intent(context, cgeoadvsearch.class)); - } + public void cgeoFindByOffline(View v) { + findViewById(R.id.search_offline).setPressed(true); + final Intent cachesIntent = new Intent(context, cgeocaches.class); + cachesIntent.putExtra("type", "offline"); + context.startActivity(cachesIntent); } - private class cgeoPointListener implements View.OnClickListener { + public void cgeoSearch(View v) { + findViewById(R.id.advanced_button).setPressed(true); + context.startActivity(new Intent(context, cgeoadvsearch.class)); + } - public void onClick(View arg0) { - context.startActivity(new Intent(context, cgeopoint.class)); - } + public void cgeoPoint(View v) { + findViewById(R.id.any_button).setPressed(true); + context.startActivity(new Intent(context, cgeopoint.class)); + } + + public void cgeoFilter(View v) { + findViewById(R.id.filter_button).setPressed(true); + findViewById(R.id.filter_button).performClick(); } private class countBubbleUpdate extends Thread { |
