2016-07-28 10 views
0

私は最初の繰り返しの後にforループを壊しています。私はそれが良い練習ではないことを認識していますが、私はこれを修正する方法がわかりません。 "for文はループしません"というメッセージが表示されます。私はアンドロイドスタジオIDEを使用しています。for文はループしません - アンドロイド

List<PriceWithCurrency> commercialPrices = purchaseLineItem.getProduct().getCommercialPrices(); 
CrewSalesRecord crewSalesRecord = 
     new CrewSalesRecord(
       purchase.getEmployeeIdentifier(), 
       purchaseLineItem.getQuantity()); 
       crewSalesRecords.add(crewSalesRecord); 

for (PriceWithCurrency currency : commercialPrices) { 
    ProductData purchaseData = new ProductData(
      purchaseLineItem.getProduct().getProductId(), 
      purchaseLineItem.getProduct().getShortDescription(), 
      purchaseLineItem.getQuantity(), 
      crewSalesRecords, currency.getPrice()); 
      uncombinedProductDataList.add(purchaseData); 
    break; 
} 
+3

あなた 'break'は、最初の通過に' for'ループを抜けるとなります。 – bradimus

+1

リストの最初の要素を 'get'して' currency'と呼んでループを削除してみませんか?ループしていないと、なぜあなたはループしているのですか? – tnw

+0

そのメッセージにはエラーがありますか? – ddb

答えて

5

コンパイラの警告ですが、エラーではありません。しかし、とにかく最初の反復の後にループを壊す場合は、ループの代わりにリストの最初の項目を取得するだけの理由はありますか?

例:

for (PriceWithCurrency currency : commercialPrices) { 
    ProductData purchaseData = new ProductData(purchaseLineItem.getProduct().getProductId(), 
       purchaseLineItem.getProduct().getShortDescription(), purchaseLineItem.getQuantity(), 
crewSalesRecords, currency.getPrice()); 
    uncombinedProductDataList.add(purchaseData); 
    break; 
} 

PriceWithCurrency firstCurrency = commercialPrices.get(0); 
ProductData purchaseData = new ProductData(purchaseLineItem.getProduct().getProductId(), 
    purchaseLineItem.getProduct().getShortDescription(), purchaseLineItem.getQuantity(), 
    crewSalesRecords, firstCurrency.getPrice()); 
uncombinedProductDataList.add(purchaseData); 
+0

ありがとう!これは私のために働いた。 – punit1337

関連する問題