java - 如何根据之前选择的微调器更改其他微调器?

标签 java android android-studio spinner android-spinner

我正在尝试根据我在第一个微调器中选择的内容更改我的第二个微调器,而不使用任何 json 或数据库。必须根据我们在第一个微调器中选择的内容来更改下面的微调器。我正在尝试使用下面的代码但是不起作用

这是java代码

    Spinner gedungSpn, lantaiSpn, ruangSpn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_kelas);
GedungSpinner();

        if (gedungSpn.getSelectedItemPosition() == 0){
            LantaiSpinnerRektorat();
        }else if(gedungSpn.getSelectedItemPosition() == 1){
            LantaiSpinnerGL();
        }
    }
 public void GedungSpinner(){

        gedungSpn = (Spinner) findViewById(R.id.gedung_spn);
        List<String> list = new ArrayList<String>();
        list.add("Rektorat");
        list.add("Griya Legita");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, list);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        gedungSpn.setAdapter(dataAdapter);
    }

    public void LantaiSpinnerRektorat(){

        lantaiSpn = (Spinner) findViewById(R.id.lantai_spn);
        List<String> list = new ArrayList<String>();
        list.add("Lantai 1");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, list);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        lantaiSpn.setAdapter(dataAdapter);
    }

    public void LantaiSpinnerGL(){

        lantaiSpn = (Spinner) findViewById(R.id.lantai_spn);
        List<String> list = new ArrayList<String>();
        list.add("Lantai 1");
        list.add("Lantai 2");
        list.add("Lantai 3");
        list.add("Lantai 4");
        list.add("Lantai 5");
        list.add("Lantai 6");
        list.add("Lantai 7");
        list.add("Lantai 8");
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, list);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        lantaiSpn.setAdapter(dataAdapter);
    }

请帮帮我。也许一些技巧可以帮助。我也在尝试更改 if 语句上的适配器,但它仍然根本不起作用

最佳答案

替换

        if (gedungSpn.getSelectedItemPosition() == 0){
            LantaiSpinnerRektorat();
        }else if(gedungSpn.getSelectedItemPosition() == 1){
            LantaiSpinnerGL();
        }

gedungSpn.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view,
                    int position, long id) {
                if (position == 0){
                   LantaiSpinnerRektorat();
                 }else if(position == 1){
                   LantaiSpinnerGL();
                 }
            }

            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
                // TODO Auto-generated method stub

            }
        });

关于java - 如何根据之前选择的微调器更改其他微调器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50317423/

相关文章:

android - 无法从设备模拟器-5554 获取查看服务器版本和无法从设备模拟器-5554 获取查看服务器协议(protocol)版本

java - quartz 触发器开始时间早于当前时间

java - OneToMany/可为 null 关系的 Hibernate 性能问题

java - java eclipse 错误的 Minecraft 克隆

java - 如何在oracle数据库中插入BigInteger值

android - 带有 fragment 的重复 ID

android - Android 上的 libspotify.so.12.1.51 段错误

android - 如何创建自定义 TextView 背景 Android?

Android Studio - Gradle 同步失败 : Already disposed

android-studio - flutter :发布失败