从动态微调器获取值

时间:2015-04-01 09:15:52

标签: android spinner

当我点击添加按钮时,我动态创建微调器。但我不知道如何从创建的动态微调器中获取值。我需要获取值,当我单击提交按钮时选择了多少衬衫,选择了纱丽和牛仔裤< / p>

enter image description here

这是我的代码

 buttonAdd = (Button)findViewById(R.id.add);
  container = (LinearLayout)findViewById(R.id.container);
  final List<String> dressArray =  new ArrayList<String>();
  dressArray.add("Select Dress");
  dressArray.add("Shirt");
  dressArray.add("Saree");
  dressArray.add("Jeans");

  ArrayAdapter<String> adapter = new ArrayAdapter<String>(
      this, android.R.layout.simple_spinner_item, dressArray);

  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  Spinner dress = (Spinner) findViewById(R.id.dress);
  dress.setAdapter(adapter);


  final List<String> dresscountArray =  new ArrayList<String>();
  dresscountArray.add("Count");
  dresscountArray.add("1");
  dresscountArray.add("2");

  dresscountArray.add("3");


  ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(
      this, android.R.layout.simple_spinner_item, dresscountArray);

  adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  Spinner dresscount = (Spinner) findViewById(R.id.dresscount);
  dresscount.setAdapter(adapter1);
  buttonAdd.setOnClickListener(new OnClickListener(){

   @Override
   public void onClick(View arg0) {
    LayoutInflater layoutInflater = 
      (LayoutInflater) getBaseContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    final View addView = layoutInflater.inflate(R.layout.row, null);


    Spinner dresscount = (Spinner)addView.findViewById(R.id.dresscount);
    Spinner dress = (Spinner)addView.findViewById(R.id.dress);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
              PickupOrder.this, android.R.layout.simple_spinner_item, dressArray);

          adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
          dress.setAdapter(adapter);


          ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(
                  PickupOrder.this, android.R.layout.simple_spinner_item, dresscountArray);

              adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
              dresscount.setAdapter(adapter1);



    Button buttonRemove = (Button)addView.findViewById(R.id.remove);
    buttonRemove.setOnClickListener(new OnClickListener(){

     @Override
     public void onClick(View v) {
      ((LinearLayout)addView.getParent()).removeView(addView);
     }});

    container.addView(addView);
   }});

2 个答案:

答案 0 :(得分:3)

首先定义全局

String value1;
int value_position1;

然后在每个onCreate

中设置值后,在Spinner内调用这些方法
spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
                @Override
                public void onItemSelected(AdapterView<?> parent,
                        View view, int position, long id) {
                    value_position1 = position;
                    value1 = parent.getSelectedItem().toString()
                            .trim();
                }

                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                }
            });

当您拨打提交按钮时,请使用每个String的值。

答案 1 :(得分:0)

         showallPrompt = "";

                int Count = new_container.getChildCount();
                try {
                    for (int cc = 0; cc < Count; cc++) {
              View child = new_container.getChildAt(cc);
  Spinner value = (Spinner)(child.findViewById(R.id.sp_dynamic));
             String spin_value = value.getSelectedItem().toString();
  showallPrompt += spin_value;

                    }
                } catch (Exception e) {
                }


                Toast.makeText(MainActivity.this,
                         showallPrompt,
                        Toast.LENGTH_LONG).show();


            }
    }



  Do like this on your button click...