0
我是新来的android,我试图实现级联微调。当我选择第一个微调器时,它应该根据第一个微调器选择填充第二个微调器选项。我已经差不多完成了,但在第二次微调中,我无法选择该值。当我选择它正在消失的价值。请帮助我。Cascading Spinner Not Wokring
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
public class DummyMain extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
public Spinner spinner1, spinner2;
public String[] spinner1Values = {"A", "B"}, valuesForA = {"1", "2"}, valuesForB = {"3", "4", "5", "1"};
public ArrayAdapter<String> adapterForSpinner1, adapterForSpinner2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dummy_main);
spinner1 = (Spinner) findViewById(R.id.spinner1);
spinner2 = (Spinner) findViewById(R.id.spinner2);
adapterForSpinner1 = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, spinner1Values);
adapterForSpinner1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapterForSpinner1);
spinner1.setOnItemSelectedListener(this);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int i, long l) {
Toast.makeText(this, "Result "+spinner1.getSelectedItem().toString(), Toast.LENGTH_SHORT).show();
if (parent.getId() == R.id.spinner1) {
if (spinner1.getSelectedItem().toString().equals("A")) {
adapterForSpinner2 = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item,valuesForA);
adapterForSpinner2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(adapterForSpinner2);
spinner2.setOnItemSelectedListener(this);
} else {
adapterForSpinner2 = new ArrayAdapter<String>(getApplicationContext(),
android.R.layout.simple_spinner_item,valuesForB);
adapterForSpinner2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(adapterForSpinner2);
spinner2.setOnItemSelectedListener(this);
}
}
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
}