Define a callback interface in the Simulation list fragment which is called with...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Wed, 25 Jan 2012 17:35:46 +0000 (17:35 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Wed, 25 Jan 2012 17:35:46 +0000 (17:35 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@370 180e2498-e6e9-4542-8430-84ac67f01cd8

android/src/net/sf/openrocket/android/rocket/OpenRocketViewer.java
android/src/net/sf/openrocket/android/rocket/Simulations.java

index a79beb6e316a99c071071d30d3d15c13aba730c2..17b4209d652e9cf3d15c2d5c533fa50b39484f92 100644 (file)
@@ -4,9 +4,11 @@ package net.sf.openrocket.android.rocket;
 import net.sf.openrocket.R;\r
 import net.sf.openrocket.android.ActivityHelpers;\r
 import net.sf.openrocket.android.Application;\r
+import net.sf.openrocket.android.simulation.SimulationViewer;\r
 import net.sf.openrocket.android.util.TabsAdapter;\r
 import net.sf.openrocket.document.OpenRocketDocument;\r
 import net.sf.openrocket.rocketcomponent.Configuration;\r
+import android.content.Intent;\r
 import android.content.SharedPreferences;\r
 import android.os.Bundle;\r
 import android.preference.PreferenceManager;\r
@@ -19,7 +21,8 @@ import android.view.MenuItem;
 import android.widget.TabHost;\r
 \r
 public class OpenRocketViewer extends FragmentActivity\r
-implements SharedPreferences.OnSharedPreferenceChangeListener\r
+implements SharedPreferences.OnSharedPreferenceChangeListener,\r
+Simulations.OnSimulationSelectedListener\r
 {\r
 \r
        private static final String TAG = "OpenRocketViewer";\r
@@ -113,4 +116,11 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
                return super.onMenuItemSelected(featureId, item);\r
        }\r
 \r
+       @Override\r
+       public void onSimulationSelected(int simulationId) {\r
+               Intent i = new Intent(this, SimulationViewer.class);\r
+               i.putExtra("Simulation",simulationId);\r
+               startActivity(i);\r
+               }\r
+\r
 }\r
index 231c50da18803d4d0130c826e2a672c2bc37ce0b..6d48a7c3be1ac1ff707d0e37244833dbbad30bab 100644 (file)
@@ -2,12 +2,11 @@ package net.sf.openrocket.android.rocket;
 \r
 import net.sf.openrocket.R;\r
 import net.sf.openrocket.android.Application;\r
-import net.sf.openrocket.android.simulation.SimulationViewer;\r
 import net.sf.openrocket.document.OpenRocketDocument;\r
 import net.sf.openrocket.document.Simulation;\r
 import net.sf.openrocket.unit.Unit;\r
 import net.sf.openrocket.unit.UnitGroup;\r
-import android.content.Intent;\r
+import android.app.Activity;\r
 import android.os.Bundle;\r
 import android.support.v4.app.Fragment;\r
 import android.util.Log;\r
@@ -22,7 +21,12 @@ import android.widget.TextView;
 \r
 public class Simulations extends Fragment {\r
 \r
+       public interface OnSimulationSelectedListener {\r
+               public void onSimulationSelected( int simulationId );\r
+       }\r
+       \r
        private ListView simulationList;\r
+       private OnSimulationSelectedListener listener;\r
 \r
        @Override\r
        public View onCreateView(LayoutInflater inflater, ViewGroup container,\r
@@ -33,6 +37,19 @@ public class Simulations extends Fragment {
                return v;\r
        }\r
 \r
+       @Override\r
+       public void onAttach(Activity activity) {\r
+               super.onAttach(activity);\r
+               if ( activity instanceof OnSimulationSelectedListener ) {\r
+                       listener = (OnSimulationSelectedListener) activity;\r
+               }\r
+       }\r
+\r
+\r
+       public void setListener(OnSimulationSelectedListener listener) {\r
+               this.listener = listener;\r
+       }\r
+\r
        @Override\r
        public void onActivityCreated(Bundle savedInstanceState) {\r
                super.onActivityCreated(savedInstanceState);\r
@@ -64,9 +81,9 @@ public class Simulations extends Fragment {
                simulationList.setOnItemClickListener( new OnItemClickListener() {\r
                        @Override\r
                        public void onItemClick(AdapterView l, View v, int position, long id) {\r
-                               Intent i = new Intent(getActivity(), SimulationViewer.class);\r
-                               i.putExtra("Simulation",(int)id);\r
-                               startActivity(i);\r
+                               if (listener != null ) {\r
+                                       listener.onSimulationSelected(position);\r
+                               }\r
                        }\r
 \r
                });\r