diff options
author | Torsten Keil <github@torsten-keil.net> | 2012-03-09 00:38:47 +0100 |
---|---|---|
committer | Torsten Keil <github@torsten-keil.net> | 2012-03-09 00:38:47 +0100 |
commit | c1e05aa96fdedbb9f07b8f23246b7532ccc59572 (patch) | |
tree | 087cd10051c56ef553fa08a21a6985b1ae4e7db4 | |
parent | 24b8acc8c252a94f14520f9d48a30bae3b3e6f5b (diff) | |
download | cgeo-c1e05aa96fdedbb9f07b8f23246b7532ccc59572.zip cgeo-c1e05aa96fdedbb9f07b8f23246b7532ccc59572.tar.gz cgeo-c1e05aa96fdedbb9f07b8f23246b7532ccc59572.tar.bz2 |
Add quick access to default navigation to waypoints in waypoint list in cache details view
-rw-r--r-- | main/res/layout/waypoint_item.xml | 56 | ||||
-rw-r--r-- | main/src/cgeo/geocaching/CacheDetailActivity.java | 17 |
2 files changed, 52 insertions, 21 deletions
diff --git a/main/res/layout/waypoint_item.xml b/main/res/layout/waypoint_item.xml index d8ee2b4..2c16f6e 100644 --- a/main/res/layout/waypoint_item.xml +++ b/main/res/layout/waypoint_item.xml @@ -5,27 +5,43 @@ android:orientation="vertical" android:paddingTop="9dp" > - <TextView - android:id="@+id/name" + <RelativeLayout android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:textColor="?text_color" - android:textSize="18dp" /> - - <TextView - android:id="@+id/info" - android:layout_width="fill_parent" - android:layout_height="wrap_content" - android:layout_gravity="left" - android:layout_marginLeft="12dp" - android:ellipsize="marquee" - android:lines="1" - android:scrollHorizontally="true" - android:singleLine="true" - android:textColor="?text_color_headline" - android:textSize="14dp" - android:visibility="gone" /> - + android:layout_height="fill_parent" + android:orientation="horizontal"> + <LinearLayout + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_alignParentLeft="true" + android:orientation="vertical"> + <TextView + android:id="@+id/name" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:textColor="?text_color" + android:textSize="18dp" /> + <TextView + android:id="@+id/info" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:layout_gravity="left" + android:layout_marginLeft="12dp" + android:ellipsize="marquee" + android:lines="1" + android:scrollHorizontally="true" + android:singleLine="true" + android:textColor="?text_color_headline" + android:textSize="14dp" + android:visibility="gone" /> + </LinearLayout> + <ImageView style="@style/action_bar_action" + android:id="@+id/wpDefaultNavigation" + android:src="@drawable/actionbar_compass" + android:layout_gravity="right" + android:layout_alignParentRight="true" + android:clickable="true" + android:longClickable="true" /> + </RelativeLayout> <TextView android:id="@+id/coordinates" android:layout_width="fill_parent" diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index 5f9eab9..f3776ea 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -2407,7 +2407,7 @@ public class CacheDetailActivity extends AbstractActivity { List<cgWaypoint> sortedWaypoints = new ArrayList<cgWaypoint>(cache.getWaypoints()); Collections.sort(sortedWaypoints); - for (cgWaypoint wpt : sortedWaypoints) { + for (final cgWaypoint wpt : sortedWaypoints) { waypointView = (LinearLayout) getLayoutInflater().inflate(R.layout.waypoint_item, null); // coordinates @@ -2461,6 +2461,21 @@ public class CacheDetailActivity extends AbstractActivity { } } + View wpNavView = waypointView.findViewById(R.id.wpDefaultNavigation); + wpNavView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + NavigationAppFactory.startDefaultNavigationApplication(geolocation, CacheDetailActivity.this, null, wpt, null); + } + }); + wpNavView.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + NavigationAppFactory.startDefaultNavigationApplication2(geolocation, CacheDetailActivity.this, null, wpt, null); + return true; + } + }); + registerForContextMenu(waypointView); waypointView.setOnClickListener(new WaypointInfoClickListener()); |