Changed cursor management after seeing problems in Honeycomb. Stop using managed...
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Sun, 5 Feb 2012 02:47:25 +0000 (02:47 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Sun, 5 Feb 2012 02:47:25 +0000 (02:47 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@396 180e2498-e6e9-4542-8430-84ac67f01cd8

android/src/net/sf/openrocket/android/motor/MotorListFragment.java

index f7559854ffb4c69de24e77f7f64602daf8c1b6ed..3f0bf5d6d1f3cfc5249e665b0f89f699d35786f3 100644 (file)
@@ -5,10 +5,8 @@ import net.sf.openrocket.android.db.DbAdapter;
 import net.sf.openrocket.android.db.MotorDao;\r
 import net.sf.openrocket.android.util.AndroidLogWrapper;\r
 import net.sf.openrocket.android.util.PersistentExpandableListFragment;\r
-import net.sf.openrocket.motor.Motor;\r
 import android.app.Activity;\r
 import android.content.Context;\r
-import android.content.Intent;\r
 import android.content.SharedPreferences;\r
 import android.content.res.Resources;\r
 import android.database.Cursor;\r
@@ -35,13 +33,13 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
        public interface OnMotorSelectedListener {\r
                public void onMotorSelected( long motorId );\r
        }\r
-       \r
+\r
        public static MotorListFragment newInstance( ) {\r
-               \r
+\r
                MotorListFragment frag = new MotorListFragment();\r
                return frag;\r
        }\r
-       \r
+\r
        private static final int CONTEXTMENU_DELETE = Menu.FIRST+1;\r
 \r
        private String groupColumnPreferenceKey;\r
@@ -57,9 +55,9 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
        private CursorTreeAdapter mAdapter;\r
 \r
        private DbAdapter mDbHelper;\r
-       \r
+\r
        private OnMotorSelectedListener motorSelectedListener;\r
-       \r
+\r
        public void setMotorSelectedListener(\r
                        OnMotorSelectedListener motorSelectedListener) {\r
                this.motorSelectedListener = motorSelectedListener;\r
@@ -80,10 +78,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
                protected Cursor getChildrenCursor(Cursor arg0) {\r
                        AndroidLogWrapper.d(MotorListFragment.class,"getChildrenCursor");\r
                        String group = arg0.getString(arg0.getColumnIndex(groupColumn));\r
-                       AndroidLogWrapper.d(MotorListFragment.class,"  for: "+ groupColumn + " = " + group);\r
                        Cursor c = mDbHelper.getMotorDao().fetchAllInGroups(groupColumn,group);\r
-                       AndroidLogWrapper.d(MotorListFragment.class,"  got cursor");\r
-                       getActivity().startManagingCursor(c);\r
                        return c;\r
                }\r
 \r
@@ -98,16 +93,16 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
                @Override\r
                protected void bindChildView(View arg0, Context arg1, Cursor arg2,\r
                                boolean arg3) {\r
-                       \r
+\r
                        TextView manu = (TextView) arg0.findViewById(R.id.motorChildManu);\r
                        manu.setText( arg2.getString(arg2.getColumnIndex(MotorDao.MANUFACTURER)));\r
-                       \r
+\r
                        TextView desig = (TextView) arg0.findViewById(R.id.motorChildName);\r
                        desig.setText( arg2.getString(arg2.getColumnIndex(MotorDao.DESIGNATION)));\r
-                       \r
+\r
                        TextView delays = (TextView) arg0.findViewById(R.id.motorChildDelays);\r
                        delays.setText( arg2.getString(arg2.getColumnIndex(MotorDao.DELAYS)));\r
-                       \r
+\r
                        TextView totImpulse = (TextView) arg0.findViewById(R.id.motorChildImpulse);\r
                        totImpulse.setText( arg2.getString(arg2.getColumnIndex(MotorDao.TOTAL_IMPULSE)));\r
                }\r
@@ -126,7 +121,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
                                v.setText( cursor.getString( cursor.getColumnIndex(groupColumn)));\r
                        }\r
                }\r
-               \r
+\r
        }\r
 \r
        @Override\r
@@ -159,7 +154,7 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
                setGroupColumnFromPreferences(pref);\r
 \r
                pref.registerOnSharedPreferenceChangeListener(this);\r
-               \r
+\r
                if ( activity instanceof OnMotorSelectedListener ) {\r
                        motorSelectedListener = (OnMotorSelectedListener) activity;\r
                }\r
@@ -227,17 +222,19 @@ implements SharedPreferences.OnSharedPreferenceChangeListener
 \r
        }\r
        private void refreshData() {\r
+               Cursor motorCursor = mDbHelper.getMotorDao().fetchGroups(groupColumn);\r
                if (mAdapter != null ) {\r
-                       mAdapter.changeCursor(null);\r
+                       mAdapter.changeCursor(motorCursor);\r
+               }\r
+               else {\r
+                       // Set up our adapter\r
+                       mAdapter = new MotorHierarchicalListAdapter( \r
+                                       getActivity(),\r
+                                       motorCursor,\r
+                                       R.layout.motor_list_group,\r
+                                       R.layout.motor_list_child);\r
+                       setListAdapter(mAdapter);\r
                }\r
-               Cursor motorCursor = mDbHelper.getMotorDao().fetchGroups(groupColumn);\r
-               getActivity().startManagingCursor(motorCursor);\r
-               // Set up our adapter\r
-               mAdapter = new MotorHierarchicalListAdapter( \r
-                               getActivity(),\r
-                               motorCursor,\r
-                               R.layout.motor_list_group,\r
-                               R.layout.motor_list_child);\r
-               setListAdapter(mAdapter);\r
        }\r
+       \r
 }\r