2013-08-07 24 views
1

我在我的android應用程序中有兩個spinners。一個用於選擇和其他選擇商店。我想添加項目到兩個紡紗廠。第二離心器中的項目依賴於第一旋轉器,即存儲項應該依賴於所選擇的項。我曾嘗試過,但商店的物品是空的。請幫我 - 這是我的代碼,我已經試過:如何添加與親子關係的紡織品中的項目?

private class ChainDownloadTask extends AsyncTask<Void, Void, ArrayList<Chain>> { 
     @Override 
     protected void onPreExecute() { 
      mProgressDialog = ProgressDialog.show(SelectStoreActivity.this, null, "Loading Chains..."); 
     } 

     @Override 
     protected ArrayList<Chain> doInBackground(Void... arg0) { 
      // call web method to get all chains 
      CallSoap cs = new CallSoap(); 
      ArrayList<Chain> chainList = cs.getAllChains(); 
      return chainList; 
     } 

     @Override 
     protected void onPostExecute(ArrayList<Chain> result) { 
      mArrayListChains = result; 
      loadChainSpinner(); 
      new StoresDownloadTask().execute(); 
     } 
    } 

    private class StoresDownloadTask extends AsyncTask<Void, Void, ArrayList<Store>> { 
     @Override 
     protected void onPreExecute() { 
      mProgressDialog.setMessage("Loading Stores..."); 
     } 

     @Override 
     protected ArrayList<Store> doInBackground(Void... arg0) { 
      // call web method to get all chains 
      CallSoap cs = new CallSoap(); 
      ArrayList<Store> chainList = cs.getAllStores(); 
      return chainList; 
     } 

     @Override 
     protected void onPostExecute(ArrayList<Store> result) { 
      mArrayListStores = result; 
      loadStoreSpinner(mArrayListChains.get(0).getId()); 
      mProgressDialog.dismiss(); 
     } 
    } 

    private void loadChainSpinner() { 
     ArrayList<String> chainNameList = new ArrayList<String>(); 
     for (Chain temp : mArrayListChains) { 
      chainNameList.add(temp.getName()); 
     } 

     ArrayAdapter<String> adapter = new ArrayAdapter<String>(SelectStoreActivity.this, android.R.layout.simple_spinner_item, chainNameList); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     mSpinnerChain.setAdapter(adapter); 
    } 

    private void loadStoreSpinner(int chainId) { 
     ArrayList<Store> storeList = new ArrayList<Store>(); 
     ArrayList<String> storeNameList = new ArrayList<String>(); 
     for (Store store : mArrayListStores) { 
      if((""+chainId).equals(store.getChainID())){ 
       storeList.add(store); 
       storeNameList.add(store.getFld_str_Name()); 
      } 
     } 

     ArrayAdapter<String> adapter = new ArrayAdapter<String>(SelectStoreActivity.this, android.R.layout.simple_spinner_item, storeNameList); 
     adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     mSpinnerStores.setAdapter(adapter); 
    } 

enter image description here`

+0

檢查storeNameList是否爲空。 –

+0

商店名稱列表不爲空。值來自Web服務器。 – Ankit

+0

您是否初始化mSpinnerStores?你能分享微調項目的網址嗎? –

回答

0

檢查下面的代碼

for (int i = 0; i < Counter; i++) { 
     strPromoterNames[i] = promoterDetailsResponse.Sub_promoters.get(i).SubpromoterName; 
} 


     ArrayAdapter<String> adapterPromoterDetails = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, strPromoterNames); 
     adapterPromoterDetails.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
     spinnerPromoterDetails.setAdapter(adapterPromoterDetails);