如何更改微调器的阵列源? (Android Studio)

问题描述 投票:0回答:2

我之前曾问过这个,但是我太笼统了。

我有一个带有两个单选按钮和只有两个数组的活动:String[] tickets;有3个项目,String[] subscriptions;有5个项目。顺便说一句,单选按钮在radioGroup内部。

第一个radioButton用于String[] tickets;,第二个radioButton用于String[] subscriptions;

[当我检查第一个radioButton时,我希望由String[] tickets中的项目填充微调器,而当我检查第二个radioButton时,我想由String[] subscriptions;中的项目填充微调器。

但是你怎么做到的?我尝试使用一个空的临时数组,并将其用作微调框的数组源。然后,我将这些数组之一放入空数组中。但这没有用。

编辑:

MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

   String[] tickets = {"Ticket #1", "Ticket #2", "Ticket #3"};
   String[] subscriptions = {"Sub #1", "Sub #2", "Sub #3", "Sub #4", "Sub #5"};
   String[] tempArray;
   Spinner spinner1;
   RadioGroup radioGroup;
   RadioButton radioButtonOption;

protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);     
   setContentView(R.layout.activity_third);

   radioGroup = (RadioGroup)findViewById(R.id.radioGroup);
   int selectedRadioButton = radioGroup.getCheckedRadioButtonId();
   radioButtonOption = (RadioButton)findViewById(selectedRadioButton);
   spinner1 = (Spinner)findViewById(R.id.spinner1);


   radioButtonOption.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
         if (radioButtonOption.getText().equals("Journeys/Tickets")) {
            tempArray = tickets;
         } else if (radioButtonOption.getText().equals("Subscription")) {
            tempArray = subscriptions;
         }
      }
   });

   spinner1.setOnItemSelectedListener(this);
   ArrayAdapter a1 = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, tempArray);
   a1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
   spinner1.setAdapter(a1);
   spinner1.setOnItemSelectedListener(this);


    

我之前曾问过这个,但是我太笼统了。我有一个带有两个单选按钮和两个数组的活动:String []票证;有3个项目和String []订阅;有5个项目。由...

android arrays android-studio spinner
2个回答
0
投票

尝试此


1
投票

您可以在radioGroup上调用OnCheckChangeListener,然后相应地设置微调适配器。参见示例:

© www.soinside.com 2019 - 2024. All rights reserved.