2012-09-20 61 views
0

您好,我對這個問題很感興趣。我有一些動態創建的spinners。請幫助我從這些spinners獲取數據。從多個紡紗廠獲取數據?

當點擊添加按鈕應該從所有的紡紗廠獲得數據。對於按鈕

碼點擊

btnSave.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      String[] strings = new String[allEds.size()]; 
      String[] stringSpinns = new String[allSpns.size()]; 
      for(int i=0; i < allEds.size(); i++){ 
       strings[i] = allEds.get(i).getText().toString(); 

       try 
       { 
         json.put("Name", strings[i]); 
         //json.put("Description", descOfFolder); 
         Log.w("ANDROID DYNAMIC VIEWS:", "View Id: " + json); 
       } 
       catch (JSONException e) 
       { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
       } 


      } 


     } 
    }); 
} 

微調與此代碼

public void addSpinner() { 

    LinearLayout rAlign = (LinearLayout)findViewById(R.id.lId); 
    List<String> list = new ArrayList<String>(); 
    list.add("Net Banking Id"); 
    list.add("Net Banking password"); 
    list.add("Account Number"); 
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, 
     android.R.layout.simple_spinner_item, list); 
    Log.w("ANDROID DYNAMIC VIEWS:", "View Id: " + dataAdapter);  
    LinearLayout spinnerHolder = new LinearLayout(getApplicationContext()); 
    spinnerHolder.setOrientation(LinearLayout.HORIZONTAL); 
    spinnerHolder.setLayoutParams(
      new LinearLayout.LayoutParams(
       LinearLayout.LayoutParams.FILL_PARENT, 
       LinearLayout.LayoutParams.WRAP_CONTENT, 1f)); 
     Spinner newSpinner = new Spinner(getApplicationContext()); 
     allSpns.add(newSpinner); 
     newSpinner.setLayoutParams(
      new Spinner.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT, 
       ViewGroup.LayoutParams.WRAP_CONTENT)); 
     newSpinner.setAdapter(dataAdapter); 
     rAlign.addView(spinnerHolder); 
     spinnerHolder.addView(newSpinner); 
     Log.w("ANDROID DYNAMIC VIEWS:", "View Id: " + allSpns); 

    } 

創建的列表動態添加跟蹤紡紗的數量和開放獲取數據的循環。

String[] stringSpinns = new String[allSpns.size()];  

但感到困惑如何將數據...

+0

發表您正在面臨問題的代碼? –

+0

@ Ram kiran yes更新了代碼 – user1682133

回答

-1

如果問題是紡紗廠的數量和處理它們,你可以可能使紡紗的數組,然後在另一個數組使用循環retrive數據。 您可以使用一個常量ID的數組,然後使用findViewById(yourSpinnerId)找到您的微調器,然後使用此微調器來獲取選定的項目。爲了使INTS的常量數組,你可能想看看herehere

如果你關心的是微調的設定值,使用

mySpinner.getItemAtPosition(mySpinner.getSelectedItemPosition()) 

此外,您還可以使用以下方法:getSelectedItem()getSelectedItemPosition()getSelectedItemId()getSelectedView()這些文檔是herehere

0

它有一個簡單的解決方案。

@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) 
{ 
    switch(your spinner id) 
    { 
     case spinnerid: 
     Toast.makeText(your context,parent.getItemAtPosition(position).toString()+" Selected", Toast.LENGTH_LONG).show(); 
    } 
}