2016-04-15 19 views
0

実行時にコントロールを作成するフラグメントがあり、最初にスピナーを作成し、次に2番目のスピナーを作成します。 最初の?の選択に応じて2番目のスピナーのデータを更新できますか?スピナーを別のスピナーから動的に更新する

 final Spinner Combo2 = new Spinner(FichaRutasVerif2SeccionSlideFragment.this.getActivity()); 
         final Spinner Combo1 = new Spinner(FichaRutasVerif2SeccionSlideFragment.this.getActivity()); 

         List<String> list = new ArrayList<String>(); 
         list.add("TERRESTRE"); 
         list.add("FLUVIAL"); 
         list.add("AEREO"); 
         final ArrayAdapter<String> adapterCombo = new ArrayAdapter<String>(FichaRutasVerif2SeccionSlideFragment.this.getActivity() 
           ,android.R.layout.simple_spinner_item,list); 
         List<String> list2 = new ArrayList<String>(); 
         list2.add("OP1"); 
         list2.add("OP2"); 
         final ArrayAdapter<String> adapterCombo2 = new ArrayAdapter<String>(FichaRutasVerif2SeccionSlideFragment.this.getActivity() 
           ,android.R.layout.simple_spinner_item, list2); 

         if(listFormato.get(posicion).cSeccion.trim().equals("M")) 
         { 
          adapterCombo.setDropDownViewResource(R.layout.spinner); 
          Combo1.setAdapter(adapterCombo); 
          Combo1.setSelection(listFormato.get(posicion).iIndexCombo); 
          llTempZZ.addView(Combo1); 
          Combo1.setGravity(Gravity.CENTER); 
          llTempXX.addView(llTempZZ); 
          llTEMPADRE.addView(llTempXX); 
          pllh.addView(llTEMPADRE); 

         } 

         else if(listFormato.get(posicion).cSeccion.trim().equals("U")){ 
          final Spinner Combo0 = new Spinner(FichaRutasVerif2SeccionSlideFragment.this.getActivity()); 
          List<String> list3 =new ArrayList<String>(); 
          list3.add("SI"); 
          list3.add("NO"); 
          ArrayAdapter<String> adapterCombo3 = new ArrayAdapter<String>(FichaRutasVerif2SeccionSlideFragment.this.getActivity() 
            ,android.R.layout.simple_spinner_item, list3); 
          adapterCombo3.setDropDownViewResource(R.layout.spinner); 
          Combo0.setAdapter(adapterCombo3); 
          llTempZZ.addView(Combo0); 
          llTempXX.addView(llTempZZ); 
          //llTempXX.addView(llTempAA); 
          llTEMPADRE.addView(llTempXX); 
          pllh.addView(llTEMPADRE); 
          Combo0.setOnItemSelectedListener(new OnItemSelectedListener() { 
           public void onItemSelected(AdapterView<?> adapterView, 
                  View view, int pos, long id) { 
            if (pos == 0) { 
             pll2.setVisibility(View.VISIBLE); 
            } 
            else if(pos==1) { 
             pll2.setVisibility(View.GONE); 
            } 

            listFormato.get(posicion).vResultado = Combo0.getSelectedItem().toString(); 
            RECORDCARDITEM_DAO.Actualizar(FichaRutasVerif2SeccionSlideFragment.this.getActivity(), listFormato.get(posicion)); 
           } 
           public void onNothingSelected(AdapterView<?> arg0) { 
            // TODO Auto-generated method stub 
           } 
          }); 



         } 
         else if(listFormato.get(posicion).cSeccion.trim().equals("T")) 
         { 
          adapterCombo2.setDropDownViewResource(R.layout.spinner); 
          Combo2.setAdapter(adapterCombo2); 
          //Combo1.setSelection(listFormato.get(posicion).iIndexCombo); 
          llTempZZ.addView(Combo2); 
          Combo2.setGravity(Gravity.CENTER); 
          llTempXX.addView(llTempZZ); 
          llTEMPADRE.addView(llTempXX); 
          //////TEXTOS 

          Combo2.setOnItemSelectedListener(new OnItemSelectedListener() { 
           public void onItemSelected(AdapterView<?> adapterView, 
                  View view, int pos, long id) { 
            if(Combo2.getSelectedItemPosition()==0) 
            { 

            } 
            if (pos ==12) { 
             llTempAA.setVisibility(View.VISIBLE); 

            } else { 
             llTempAA.setVisibility(View.GONE); 
            } 
            listFormato.get(posicion).vResultado = Combo2.getSelectedItem().toString(); 
            RECORDCARDITEM_DAO.Actualizar(FichaRutasVerif2SeccionSlideFragment.this.getActivity(), listFormato.get(posicion)); 
           } 
           public void onNothingSelected(AdapterView<?> arg0) { 
            // TODO Auto-generated method stub 
           } 
          }); 
         } 

答えて

0

あなたはこの

Spinner firstSpinner = (Spinner) findViewById(R.id.first_spinner); 
// You can set your first spinner values here if not set already, and then 
firstSpinner.setOnItemSelectedListener(onFirstSpinnerChange(firstSpinner)); 

ような何かを行うことができ、さらに、この

AdapterView.OnItemSelectedListener onFirstSpinnerChange(Spinner mySpinner) { 
    return new AdapterView.OnItemSelectedListener() { 
     @Override 
     public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) { 
      // You can add this method to set the values of the second spinner in your activity 
      // You can use the position, or alternatively selectedItemView for this purpose to identify the selected item 
      setSecondSpinnerBasedOnFirstOnePositionSelected(); 

      // Or you can just set your spinner in this block 
     } 

     @Override 
     public void onNothingSelected(AdapterView<?> parentView) { 
      // do nothing 
     } 
    }; 
} 
+0

を追加し、私はちょうどあなたが見ることができる私のコードをアップロード – lowrider80

関連する問題