2015-11-25 139 views
-1

我有一個Fragment中的方法,該方法從數量Spinner中獲取一個值並將其返回。我在哪裏可以檢索這個變量的值?如果我想將它全部移到一個新的活動中,我怎樣才能在那裏檢索它?類之間的移動返回變量

public String SetupQuantitySpinner(String[] quantity) { 
    Spinner spnr2; 
    spnr2 = (Spinner)view.findViewById(R.id.spinner_quantity); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
      getActivity(), 
      R.layout.custom_spinner, 
      R.id.text_main_seen, 
      quantity); 
    spnr2.setAdapter(adapter); 
    return quantity[spnr2.getSelectedItemPosition()]; 
} 

基本上,微調器表示用戶決定購買的物品的數量,即1到20件襯衫。我現在有一個由它的成本乘以該值,但成本在另一個活動共檢索到:

String cost = currentProduct.getCost(); 

我需要發送quantity[spnr2.getSelectedItemPosition()]這一新的活動,這樣我可以通過currentProduct.getCost();

如何乘以我能完成這個嗎?

編輯:這是不同的,因此不是重複,因爲我只想發送和檢索與選定的微調項目相關聯的數據。

回答

3

如果您只想檢索其他活動中的選定項目,那麼您可以簡單地將此代碼放入onItemSelected方法中。並在該活動中檢索額外的值。

String item = mSpinner.getSelectedItem().toString(); 
Intent intent = new Intent(this,NextActivity.class); 
intent.putExtra("item",item); 
startActivity(intent); 
0

這是另一種方法。寫一個全局變量:

public final static String PRODUCT_SIZE_MESSAGE = "com.elgami.customizer.PRODUCT_SIZE"; 

開始你的意圖,你想在你的代碼:

Intent intent; 
intent.putExtra(MainActivity.PRODUCT_QUANTITY_MESSAGE, productQuantity); 
startActivity(intent); 

你把你想與額外的意圖一起發送的變量,然後檢索在新的類,如下所示:

private int getIntentMessageProductQuantity() { 
    return getIntent().getIntExtra(MainActivity.PRODUCT_QUANTITY_MESSAGE, 0); 
} 

現在你有一個變量,你可以在任何方法在新的類使用它作爲一個參數,像這樣:

public void LaunchPurchaseIntent(MainActivity.ProductType productType, int productSize, int productQuantity, String uuid) throws ParseException { 
    // Do what you want here 

}