【发布时间】:2020-09-27 14:19:01
【问题描述】:
我以前问过这个问题,但我太笼统了。
我有一个包含两个单选按钮和两个数组的活动:String[] tickets; 有 3 个项目,String[] subscriptions; 有 5 个项目。顺便说一句,单选按钮位于 radioGroup 内。
第一个radioButton 用于String[] tickets;,第二个radioButton 用于String[] subscriptions;
当我检查第一个单选按钮时,我希望微调器由String[] tickets 中的项目填充,当我检查第二个单选按钮时,我希望微调器由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);
【问题讨论】:
-
到目前为止你已经尝试过什么,你能告诉我们你的代码吗?
-
@PraveenSP 当然!你好。我记得你帮了我:)))
-
@PraveenSP 我更新了帖子。这就是我到目前为止所尝试的全部。
标签: android arrays android-studio spinner