[Android Studio] costadev007:
I need help validating the three "spinners()" - "funcao", "nivel" and "localidade" and saving the data in Firebase, in the code below it is only saving the "spinner()" "localidade"!

package com.example.projectmir.activity;

import android.Manifest;

import android.content.Intent;

import android.graphics.Bitmap;

import android.graphics.ImageDecoder;

import android.net.Uri;

import android.os.Build;

import android.os.Bundle;

import android.provider.MediaStore;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.EditText;

import android.widget.ImageView;

import android.widget.Spinner;

import android.widget.TextView;

import android.widget.Toast;

import androidx.annotation.Nullable;

import androidx.appcompat.app.AppCompatActivity;

import com.example.projectmir.R;

import com.example.projectmir.helper.FirebaseHelper;

import com.example.projectmir.model.Anuncio;

import com.google.firebase.database.DatabaseReference;

import com.google.firebase.database.FirebaseDatabase;

import com.google.firebase.storage.StorageReference;

import com.google.firebase.storage.UploadTask;

import com.gun0912.tedpermission.PermissionListener;

import com.gun0912.tedpermission.normal.TedPermission;

import java.io.IOException;

import java.util.List;

public class CadastroPessoaActivity extends AppCompatActivity {

private static final int REQUEST_GALERIA = 100;

private EditText edit_nome;

private EditText edit_vulgo;

private EditText edit_endereco;

private EditText edit_observacoes;

private ImageView img_anuncio;

private String caminhoImagem;

public Bitmap imagem;

public Anuncio anuncio;

@override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_cadastro_pessoa);

configCliques();

iniciaComponentes();

configClique();

Spinner pessoal_spinner_nivel = findViewById(R.id.pessoal_spinner_nivel);

String[] nivel = {"1", "2", "3", "4", "5"};

ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, nivel);

pessoal_spinner_nivel.setAdapter(adapter);

Spinner pessoal_spinner_funcao = findViewById(R.id.pessoal_spinner_funcao);

String[] funcao = {"1a", "2a", "3a", "4a", "5a", "6a"};

ArrayAdapter<String> adapter1 = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, funcao);

pessoal_spinner_funcao.setAdapter(adapter1);

Spinner pessoal_spinner_localidade = findViewById(R.id.pessoal_spinner_localidade);

String[] localidade = {"ba", "", "Be", "Tub", "St", "Qui", "Ma", "Te", "S", "La", "Vir", "Outros"};

ArrayAdapter<String> adapter2 = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, localidade);

pessoal_spinner_localidade.setAdapter(adapter2);

}

public void verificaPermissaoGaleria(View view) {

PermissionListener permissionListener = new PermissionListener() {

@override

public void onPermissionGranted() {

abrirGaleria();

}

@override

public void onPermissionDenied(List<String> deniedPermissions) {

Toast.makeText(CadastroPessoaActivity.this, "Permissão Negada", Toast.LENGTH_SHORT).show();

}

};

showDialogPermissaoGaleria(permissionListener, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE});

}

public void showDialogPermissaoGaleria(PermissionListener listener, String[] permissoes) {

TedPermission.create().setPermissionListener(listener).setDeniedTitle("Permissões Negadas.").setDeniedMessage("Você negou as permissões para acessar a galeria do dispositivo, deseja permitir?").setDeniedCloseButtonText("Não").setGotoSettingButtonText("sim").setPermissions(permissoes).check();

}

public void abrirGaleria() {

Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(intent, REQUEST_GALERIA);

}

public void configCliques() {

findViewById(R.id.ib_voltar).setOnClickListener(view -> finish());

}

void configClique() {

findViewById(R.id.ib_salvar).setOnClickListener(view -> validaDados());

}

public void validaDados() {

String nome = edit_nome.getText().toString();

String vulgo = edit_vulgo.getText().toString();

String endereco = edit_endereco.getText().toString();

String observacoes = edit_observacoes.getText().toString();

Spinner pessoal_spinner_nivel = findViewById(R.id.pessoal_spinner_nivel);

String nivelSelecionado = pessoal_spinner_nivel.getSelectedItem().toString();

Spinner pessoal_spinner_funcao = findViewById(R.id.pessoal_spinner_funcao);

String funcaoSelecionado = pessoal_spinner_funcao.getSelectedItem().toString();

Spinner pessoal_spinner_localidade = findViewById(R.id.pessoal_spinner_localidade);

String localidadeSelecionado = pessoal_spinner_localidade.getSelectedItem().toString();

if (!nome.isEmpty()) {

if (!vulgo.isEmpty()) {

if (!endereco.isEmpty()) {

if (!observacoes.isEmpty()) {

if (caminhoImagem != null) {

if (anuncio == null) anuncio = new Anuncio();

salvarImagemAnuncio();

anuncio.setNome(nome);

anuncio.setVulgo(vulgo);

anuncio.setEndereco(endereco);

anuncio.setObservacoes(observacoes);

anuncio.setNivel(nivelSelecionado);

anuncio.setFuncao(funcaoSelecionado);

anuncio.setLocalidade(localidadeSelecionado);

FirebaseDatabase database = FirebaseDatabase.getInstance();

DatabaseReference myRef = database.getReference("cadastroPessoa");

myRef.push().setValue(anuncio).addOnCompleteListener(task -> {

if (task.isSuccessful()) {

Toast.makeText(this, "Cadastro efetuado com sucesso!", Toast.LENGTH_SHORT).show();

} else {

Toast.makeText(this, "O cadastro falhou", Toast.LENGTH_SHORT).show();

Exception exception = task.getException();

}

});

} else {

Toast.makeText(this, "Selecione um imagem para um anúncio", Toast.LENGTH_SHORT).show();

}

} else {

edit_observacoes.requestFocus();

edit_observacoes.setError("Informações obrigatórias");

}

} else {

edit_endereco.requestFocus();

edit_endereco.setError("Informe o enderço");

}

} else {

edit_vulgo.requestFocus();

edit_vulgo.setError("Informações o vulgo");

}

} else {

edit_nome.requestFocus();

edit_nome.setError("Informe o nome");

}

}

private void salvarImagemAnuncio() {

if (caminhoImagem != null) {

String nomeImagem = System.currentTimeMillis() + ".jpeg"; // Nome baseado no timestamp

StorageReference storageReference = FirebaseHelper.getStorageReference().child("imagens").child("individuo").child(nomeImagem);

UploadTask uploadTask = storageReference.putFile(Uri.parse(caminhoImagem));

uploadTask.addOnSuccessListener(taskSnapshot -> storageReference.getDownloadUrl().addOnCompleteListener(task -> {

String urlImagem = task.getResult().toString();

anuncio.setUrlImagem(urlImagem);

anuncio.salvar();

finish();

})).addOnFailureListener(e -> Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show());

} else {

Toast.makeText(this, "Selecione uma imagem para o anúncio", Toast.LENGTH_SHORT).show();

}

}

private void iniciaComponentes() {

TextView text_titulo = findViewById(R.id.text_titulo);

text_titulo.setText("Cadastro de Pessoas");

edit_nome = findViewById(R.id.edit_nome);

edit_vulgo = findViewById(R.id.edit_vulgo);

edit_endereco = findViewById(R.id.edit_endereco);

edit_observacoes = findViewById(R.id.edit_observacoes);

img_anuncio = findViewById(R.id.img_anuncio);

}

@override

protected void onActivityResult(int requestCode, int resultCode, @nullable Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if (requestCode == REQUEST_GALERIA) {

Uri localImagemSelecionada = data.getData();

caminhoImagem = localImagemSelecionada.toString();

if (Build.VERSION.SDK_INT < 28) {

try {

imagem = MediaStore.Images.Media.getBitmap(getBaseContext().getContentResolver(), localImagemSelecionada);

} catch (IOException e) {

e.printStackTrace();

}

} else {

ImageDecoder.Source source = ImageDecoder.createSource(getBaseContext().getContentResolver(), localImagemSelecionada);

try {

imagem = ImageDecoder.decodeBitmap(source);

} catch (IOException e) {

e.printStackTrace();

}

}

img_anuncio.setImageBitmap(imagem);

}

}

}