2012-09-20 3 views
0

안녕하세요. 나는 많은 스피너를 동적으로 생성했습니다.이 스피너로부터 데이터를 얻도록 도와주십시오.여러 개의 스피너에서 데이터를 가져 옵니까?

추가 버튼을 클릭하면 모든 스피너에서 데이터를 가져와야합니다. 버튼

코드 동적 스피너의 번호를 추적하여 코드

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); 

    } 

작성된 목록 첨가

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(); 
       } 


      } 


     } 
    }); 
} 

스피너를 클릭하여 데이터를 취득하는 루프를 열었다.

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

그러나 데이터를 얻을하는 방법에 대한 혼란

...

+0

문제가있는 곳의 코드를 게시 하시겠습니까? –

+0

@ Ram kiran 예 코드가 업데이트되었습니다. – user1682133

답변

-1
문제가 스피너의 숫자이면

그들을 처리, 당신은 아마 다른 배열에 루프를 사용하여 데이터를 가져 오지 다음 스피너의 배열을 만들 수 있습니다 . 또는을 사용하면 일정한 ID 배열을 사용하고 findViewById(yourSpinnerId)을 사용하여 회 전자를 찾은 다음이 회 전자를 사용하여 선택한 항목을 가져올 수 있습니다. getSelectedItem(), getSelectedItemPosition() :

mySpinner.getItemAtPosition(mySpinner.getSelectedItemPosition()) 

또한 사용, 당신은 스피너의 선택된 값에 해당하는 경우 INT의 일정한 배열이 here 또는 here

를 볼 수도 있습니다하려면, 당신은 다음과 같은 방법을 사용할 수 있습니다 , 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(); 
    } 
} 
관련 문제