【问题标题】:How to pass three string from for loop如何从for循环中传递三个字符串
【发布时间】:2017-01-15 08:05:09
【问题描述】:

我已经制作了一个程序来获取'item','qty','rate',现在我将它们全部保存在一个字符串数组中,但我需要它们将其上传到MYSQL,但这些值在数据库中重复了几次。

这是我的代码:

   String items[] = itemsF.split("\n");
    String qtys[] = qtyV.split("\n")
   String rates[] = rateF.split("\n"); 
   for (final String r : rates) {

        for (final String it : items) {
            Toast.makeText(BillGenerating.this, it, Toast.LENGTH_SHORT).show();

            for (final String qt : qtys) {
                Toast.makeText(BillGenerating.this, qt, Toast.LENGTH_SHORT).show();

                class AddBillDetails extends AsyncTask<Void, Void, String> {

                    ProgressDialog loading;

                    @Override
                    protected void onPreExecute() {
                        super.onPreExecute();
                        loading = ProgressDialog.show(BillGenerating.this, "Adding...", "Wait...", false, false);
                    }

                    @Override
                    protected void onPostExecute(String s) {
                        super.onPostExecute(s);
                        loading.dismiss();
                        Toast.makeText(BillGenerating.this, s, Toast.LENGTH_LONG).show();
                    }

                    @Override
                    protected String doInBackground(Void... v) {
                        HashMap<String, String> params = new HashMap<>();
                        params.put(KEY_BILL_ITEMS, it);
                        params.put(KEY_BILL_QTY, qt);
                        params.put(KEY_BILL_RATE, r);

                        RequestHandler rh = new RequestHandler();
                        String res = rh.sendPostRequest(Config.BILL_DETAILS_LOCAL_JOB, params);
                        return res;
                    }


                }
                AddBillDetails ae = new AddBillDetails();
                ae.execute();
            }
        }
            }



        return sum;
    }

我在循环过程中犯了错误,请有人帮助我。

【问题讨论】:

    标签: android arrays string for-loop


    【解决方案1】:

    假设itemsqtysrates 具有相同的length

    String[] items = itemsF.split("\n");
    String[] qtys = qtyV.split("\n");
    String[] rates = rateF.split("\n");
    
    for(int i = 0; i < items.length; i++){
        AddBillDetails ae = new AddBillDetails();
        ae.execute(items[i], qtys[i], rates[i]);
    }
    

    AddBillDetails.class

    class AddBillDetails extends AsyncTask<String, String, String> {
    
        ProgressDialog loading;
    
        @Override
        protected void onPreExecute() {
            super.onPreExecute();
            loading = ProgressDialog.show(BillGenerating.this, "Adding...", "Wait...", false, false);
        }
    
        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            loading.dismiss();
            Toast.makeText(BillGenerating.this, s, Toast.LENGTH_LONG).show();
        }
    
        @Override
        protected String doInBackground(String... v) {
            HashMap<String, String> params = new HashMap<>();
            params.put(KEY_BILL_ITEMS, v[0]);
            params.put(KEY_BILL_QTY, v[1]);
            params.put(KEY_BILL_RATE, v[2]);
    
            RequestHandler rh = new RequestHandler();
            return rh.sendPostRequest(Config.BILL_DETAILS_LOCAL_JOB, params);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-12
      • 2015-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多