我有這樣的方法,如圖所示下面的截圖,它返回三個值,當它崩潰,加載數據到Android微調和選擇項目
List<String> resultSizes = getFilteredSizes(crustSelectedItem);
而且我裝這3個數據到Android微調,然後我用一張這個代碼來獲取我所選擇的微調值,
String StrSizeSPPosition = String.valueOf(sizeSP.getSelectedItemPosition());
它說0
。
然後,我有一個字符串列表作爲sizePrice
, 它返回如下值,
進出口使用這段代碼利用該工具來獲取所選項目的尊崇價值,
StrPriceSize = sizePrice.get(SizeSPPosition); // crashes here
PriceSize = Double.parseDouble(StrPriceSize);
System.out.println("PriceSize = " + PriceSize);
我的問題是當我選擇泛大,那麼它應該給輸出1560,因爲我得到的索引位置,但它給450.當我選擇其他值它c皮疹給予例外。
這是個例外,
這是logcat的輸出
完整代碼
List<String> resultSizes = getFilteredSizes(crustSelectedItem);
ArrayAdapter<String> dataAdapterDes = new ArrayAdapter<String>(
Activity.this,
android.R.layout.simple_spinner_item,
resultSizes);
dataAdapterDes
.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
sizeSP.setAdapter(dataAdapterDes);
sizeSP.setOnItemSelectedListener(new MyOnItemSelectedListener(
Activity.this) {
public void onNothingSelected(AdapterView<?> arg0) {
}
@Override
public void onItemSelected(AdapterView<?> parent,
View view, int position, long id) {
String sizeSelectedItem = sizeSP
.getSelectedItem().toString();
String StrSizeSPPosition = String
.valueOf(sizeSP
.getSelectedItemPosition());
System.out.println("sizeSelectedItem = "
+ sizeSelectedItem);
System.out.println("StrSizeSPPosition = "
+ StrSizeSPPosition);
SizeSPPosition = Integer
.parseInt(StrSizeSPPosition);
String StrPriceSize = sizePrice
.get(SizeSPPosition);
PriceSize = Double.parseDouble(StrPriceSize);
(我有另一種選擇它只有1當我的價值選擇它可以正常工作而不會崩潰,我認爲只有當我有數據mora時纔會出現這個問題1) 我希望我的問題足夠清楚。如果您需要更多詳細信息,請提出清楚的問題。任何幫助將不勝感激,理清這一點。
顯示代碼,不僅調試pupup –
如果使用'StrPriceSize = resultSizes.get(SizeSPPosition);'然後?因爲在發佈圖像1560,870,450顯示在'resultSizes'列表 –
@ρяσѕρєяK然後取價格並顯示(PriceSize)它。我想要做的是使用選定的商品位置,並使用所選商品位置從價格數組(pricePrice)中獲取商品的價格。 – modabeckham