Асинхронная задача в цикле for - PullRequest
0 голосов
/ 20 ноября 2018

Я использую асинхронную задачу в цикле for и использую метод get для получения значения результата из асинхронного вызова.но экран иногда пуст.как получить вид этой проблемы.

Код указан ниже:

for (ArrayList<HashMap> item : response) {
        // Log.i("Arraylist testing",String.valueOf(item.size())) ;
        for (HashMap map : item) {

                AsynchronousCallForProductType asynchronousCallForProductType = new AsynchronousCallForProductType(productId.toString(), null, view.getContext());
                //asynchronousCallForProductType.completeResult = PutAwayDetailsFragment.this;
                try {
                    HashMap output = asynchronousCallForProductType.execute().get();
                    serializedFlag = Boolean.valueOf(output.get("serializedFlag").toString());
                    optionalFlag = Boolean.valueOf(output.get("optionalFlag").toString());
                } catch (ExecutionException e) {
                    e.printStackTrace();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                Log.i("test2", "test two");
                String sourceLogisticsAreaId = null;
                PutAwayLineItemDataPojo pojo = new PutAwayLineItemDataPojo(putAwayLineItemId, putAwayOpenQuantity,
                        putAwayActualQuantity, product, putAwayTaskId, putAwaySiteLogisticsTaskUUID, putAwayReferenceObjectUUD,
                        putAwayOperationActivityUUID, putAwaySiteLogisticsMaterialOutputUUID, putAwayTargetLogisticsAreaId,
                        pickFlag, serializedFlag, optionalFlag, sourceLogisticsAreaId);
                putAwayLineItemDataList.add(pojo);


            }
...