我应该将arraylist声明为全局数组,然后在oncreate中对其进行初始化:
ArrayList<CartModelClass> workorder;
并在 txtv_create_now 的 onclicklistener 方法中像这样使用:
UtilItems.getCartArrayList();
OR
在 txtv_create_now 的 onclicklistenert 方法中声明数组列表:
ArrayList<CartModelClass> workorder;
workorder=UtilItems.getCartArrayList();
我的问题是:
我已经宣布
HashMap<String, String> params = new HashMap<>();
两次。
这是一种好方法还是应该在活动中将它们声明为全局
HashMap<String, String> params = new HashMap<>();
,然后在需要的地方像 onclicklistener 中一样使用
?public class CreateVisitReportActivity extends AppCompatActivity {
TextView txtv_cancel, txtv_create_now;
EditText c_name, c_mobile, branch_Name, c_address, branch_Region;
SharedPrefLogin sharedPrefCart;
ArrayList < CartModelClass > workorder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_create_visit_report);
sharedPrefCart = new SharedPrefLogin(getApplicationContext());
workorder = new ArrayList < > ();
txtv_cancel = findViewById(R.id.btn_CANCEL);
txtv_create_now = findViewById(R.id.btn_CREATE);
txtv_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CreateVisitReportActivity.this.finish();
}
});
txtv_create_now.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
workorder = UtilItems.getCartArrayList();
/*String productid= String.valueOf(workorder.get(0).getP_id());
String productname=workorder.get(0).getP_name();
String createdby= sharedPrefCart.getUserType();
String status= sharedPrefCart.getLoginStatus();
String updatedby= sharedPrefCart.getUserType();
String quantity=workorder.get(0).getP_quantity();*/
ArrayList < String > arrayList = new ArrayList < > ();
for (int i = 0; i <= workorder.size() - 1; i++) {
HashMap < String, String > params = new HashMap < > ();
params.put("productid", String.valueOf(workorder.get(i).getP_id()));
params.put("quantity", workorder.get(i).getP_quantity());
arrayList.add(String.valueOf(params));
}
Log.d("qweewraddjideed", String.valueOf(arrayList));
HashMap < String, String > params = new HashMap < > ();
params.put("createdby", sharedPrefCart.getUserType());
params.put("items", String.valueOf(arrayList));
Log.d("adsd", String.valueOf(params));
final ProgressDialog pDialog = new ProgressDialog(CreateVisitReportActivity.this);
pDialog.setMessage("Please Wait ...");
pDialog.show();
JsonObjectRequest request_json = new JsonObjectRequest(URLs.workOrderURL, new JSONObject(params),
new Response.Listener < JSONObject > () {
@Override
public void onResponse(JSONObject response) {
//Process os success response
Log.d("worrr", String.valueOf(response));
pDialog.hide();
Toast.makeText(getApplicationContext(), "Order Placed", Toast.LENGTH_LONG).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
pDialog.hide();
VolleyLog.e("Error: ", error.getMessage());
}
}); VolleySingleton.getInstance(getApplicationContext()).addToRequestQueue(request_json);
}
});
}
}