微调器的 getSelectedItemPosition() 总是返回 0

Luc*_*llo 5 arrays android position return spinner

我正在尝试让警报框在微调器上显示所选项目,稍后我将需要代码中的位置。我测试了 spiAli.getSelectedItemPosition() 即使在切换之前也只返回 0。这是我的字符串:

private static final String[] listaAlimentos =
        {"Arroz","Feijão","Bife"};
ArrayAdapter<String> alistaAlimentos;    
Run Code Online (Sandbox Code Playgroud)

和不起作用的功能:

 butFinalizar.setOnClickListener(new View.OnClickListener() {
        public void onClick(View arg0) {
            String escolhaAlimento = null;
            String escolhaExercicio = null;

            if (cbAlimento.isChecked()) {
                int selected = spiAli.getSelectedItemPosition();
                switch (selected) {
                    case (0):
                        escolhaAlimento = "Arroz";
                        break;
                    case (1):
                        escolhaAlimento = "Feijão";
                        break;
                    case (2):
                        escolhaAlimento = "Bife";
                        break;
                }
                AlertDialog.Builder dialogo = new
                        AlertDialog.Builder(MainActivity.this);
                dialogo.setTitle("Aviso");
                dialogo.setMessage("Escolha:" + escolhaAlimento);
                dialogo.setNeutralButton("OK", null);
                dialogo.show();
            }

        }
    });
Run Code Online (Sandbox Code Playgroud)