"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como definir a seleção de um Spinner por valor, não por posição no Android?

Como definir a seleção de um Spinner por valor, não por posição no Android?

Publicado em 2024-11-10
Navegar:496

How to Set a Spinner\'s Selection by Value, Not Position in Android?

Definindo a seleção do Spinner por valor, não por posição

Ao atualizar uma visualização e a seleção do Spinner deve corresponder a um valor armazenado no banco de dados, o A abordagem convencional é localizar a posição correspondente usando um método indexOf no Adaptador. No entanto, esta abordagem encontra um obstáculo, pois o Adaptador não fornece tal método.

Para superar esse desafio, uma abordagem mais adequada é utilizar o método getPosition do ArrayAdapter. Este método, quando combinado com um ArrayAdapter adequado, permite a identificação da posição associada a um valor específico.

Considere um cenário onde o Spinner denominado mSpinner contém um valor de "algum valor". Para localizar e comparar sua posição, siga estas etapas:

Crie um ArrayAdapter a partir do arquivo de recurso R.array.select_state:

ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);

Defina o adaptador do Spinner e DropDownViewResource:

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);

Em seguida, se o valor a ser comparado (compareValue) não for nulo:

if (compareValue != null) {
    int spinnerPosition = adapter.getPosition(compareValue);
    mSpinner.setSelection(spinnerPosition);
}

Ao empregar essa abordagem, a seleção do Spinner pode ser definida com precisão com base no valor armazenado no banco de dados, proporcionando uma experiência de usuário perfeita durante as atualizações da visualização.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3