Quellcode durchsuchen

save detail The saved data structure is wrong -- save detail 保存的数据结构有错(resolve: #14317)
Open the saved detail function -- 打开保存的detail功能(resolve: #14309)

Ray Zhang vor 4 Jahren
Ursprung
Commit
945bc0da05

+ 1 - 1
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/dataprovider/RADataProvider.java

@@ -129,7 +129,7 @@ public class RADataProvider {
 
             item.put("module",module);
             item.put("name",name);
-            item.put("param",param);
+            item.put("bundle_params",param);
             item.put("current_date",RAUtil.getCurrentDateTime());
 
 

+ 25 - 2
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/detail/NewDetailActivity.java

@@ -31,6 +31,7 @@ import com.usai.ratradefiling.ViewPagerAdapter;
 import com.usai.ratradefiling.dataprovider.RADataProvider;
 import com.usai.redant.rautils.utils.RAUtil;
 
+import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
 
@@ -162,10 +163,32 @@ public class NewDetailActivity extends AppCompatActivity {
                                     return;
                                 }
 
-                                String param = getIntent().toUri(0);
+                                JSONObject json = new JSONObject();
+
+                                JSONArray actions = new JSONArray();
+                                int count = getIntent().getIntExtra("actions_count", 0);
+                                for (int i = 0; i < count; i++)
+                                {
+
+
+                                    String title = getIntent().getStringExtra("action" + i);
+
+                                    actions.put(title);
+
+                                }
 
 
-                                JSONObject json = RAUtil.Bundle2Json(paramsB);
+
+
+
+                                try
+                                {
+                                    json.put("actions",actions);
+                                    json.put("bundle_params",RAUtil.Bundle2Json(paramsB)) ;
+                                } catch (JSONException e)
+                                {
+                                    e.printStackTrace();
+                                }
 
                                 boolean bsuccessful= RADataProvider.saveDetailParametersForModuleWithName(json, sub_type, name);
 

+ 62 - 17
ApexDrivers/ratradefiling/src/main/java/com/usai/ratradefiling/my/SavedDetailFragment.java

@@ -31,6 +31,7 @@ import android.widget.TextView;
 import com.usai.ratradefiling.R;
 import com.usai.ratradefiling.dataprovider.RADataProvider;
 import com.usai.ratradefiling.detail.NewDetailActivity;
+import com.usai.ratradefiling.result.ResultActivity;
 import com.usai.ratradefiling.swipemenulistview.BaseSwipListAdapter;
 import com.usai.ratradefiling.swipemenulistview.SwipeMenu;
 import com.usai.ratradefiling.swipemenulistview.SwipeMenuCreator;
@@ -45,6 +46,7 @@ import org.json.JSONObject;
 import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -156,28 +158,71 @@ public class SavedDetailFragment extends TFListFragment
 	public void onListItemClick(ListView l, View v, int position, long id)
 	{
 
-		JSONArray actions = sectionModel.actions;
-		if (actions == null) {
-			actions = new JSONArray();
-		}
+		Intent intent = new Intent(getActivity(),NewDetailActivity.class);
+
+//		String uri = (String) ;
+//		String searchParms = (String) searchresult.getData().get(position).get("criterion");
+		try
+		{
+//
+//			intent = Intent.parseUri(uri, 0);
+
+			Bundle parms = new Bundle();
+//			parms.writeToParcel(parcel, flags)
+			JSONObject obj =(JSONObject) searchresult.getData().get(position).get("bundle_params");
+
+
+
+			Iterator<?> it = obj.keys();
+			while (it.hasNext())
+			{
+
+				String key = (String) it.next();
+				parms.putString(key, obj.getString(key));
+
+//					obj.put(key, searchParms.get(key).toString());
+
+
+
+			}
+			String sub_type=(String)searchresult.getData().get(position).get("module_name");
+			JSONArray actions =obj.optJSONArray("actions");
 
-		Intent intent = new Intent(mCtx, NewDetailActivity.class);
-		intent.putExtra("sub_type", params.getString("sub_type"));
-		intent.putExtra("actions_count", actions.length());
+			intent.putExtra("sub_type", sub_type);
+			intent.putExtra("actions_count", actions.length());
 
-		intent.putExtra("bundle_params",params);
+			intent.putExtra("bundle_params",parms);
+
+			for (int i = 0; i < actions.length(); i++) {
+				try {
+					String name = actions.getString(i);
+					intent.putExtra("action" + i, name);
+				} catch (JSONException e) {
+					e.printStackTrace();
+				}
+			}
+
+//			parms.putString("columns",dbUtil.get_fields(ApexTrackingApplication.get_user(), (String) searchresult.getData().get(position).get("module_name")));
+
+
+			startActivity(intent);
+
+		}
+		catch (Exception e)
+		{
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+//		Intent intent = new Intent(mCtx, NewDetailActivity.class);
+//		intent.putExtra("sub_type", params.getString("sub_type"));
+//		intent.putExtra("actions_count", actions.length());
+//
+//		intent.putExtra("bundle_params",params);
 //        intent.putExtra("_id",detail_id);
 //        if(_schema!=null)
 //            intent.putExtra("_schema",_schema);
 
-		for (int i = 0; i < actions.length(); i++) {
-			try {
-				String name = actions.getString(i);
-				intent.putExtra("action" + i, name);
-			} catch (JSONException e) {
-				e.printStackTrace();
-			}
-		}
+
 
 		startActivity(intent);
 
@@ -292,7 +337,7 @@ public class SavedDetailFragment extends TFListFragment
 				map.put("create_time", item.optString("current_date"));
 				map.put("name", item.optString("name"));
 				map.put("company_name", item.optString("company_name"));
-				map.put("params", item.optJSONObject("param"));
+				map.put("bundle_params", item.optJSONObject("bundle_params"));
 				map.put("module_name", item.optString("module"));
 				datalist.add(map);
 			}