Ver mensagens sem resposta | Ver tópicos ativos Hoje é 24 Abr 2017, 12:27



Este tópico está trancado, você não pode editar mensagens ou enviar respostas.  [ 7 Mensagens ] 
 [RESOLVIDO] index 0 size is 0 
Autor Mensagem
Android application
Android application

Data de registro: 12 Nov 2013, 10:41
Mensagens: 64
Mensagem [RESOLVIDO] index 0 size is 0
Bom, vi que é um erro comum, mas não consegui achar a resposta visto que cada dúvida tem sua especificidade, estou tentando cadastrar um medico usando o Sugar ORM, segue o código.

public void cadastrarMedico() {
        //Verifica se os campos foram preenchidos
        if (editText_medico_nome.getText().toString().isEmpty() || editText_medico_telefone.getText().toString().isEmpty() ||
                editText_medico_email.getText().toString().isEmpty() || editText_medico_especialidade.getText().toString().isEmpty()) {
            Toast.makeText(this, "Preencha todos os campos !", Toast.LENGTH_SHORT).show();
        } else {

            List<Medico> MedicoLista = Medico.find(Medico.class, "nome = ?", editText_medico_nome.getText().toString());
            Medico m = MedicoLista.get(0);

            //Verifica se existe um medico com mesmo nome
            if (m.getNome().toString().equals(editText_medico_nome.getText().toString()))
                Toast.makeText(this, "Medico já cadastrado !", Toast.LENGTH_SHORT).show();
        }

        Medico medico = new Medico(
                editText_medico_nome.getText().toString(),
                editText_medico_telefone.getText().toString(),
                editText_medico_email.getText().toString(),
                editText_medico_especialidade.getText().toString());
       
        medico.save();
        Toast.makeText(this, "Médico Cadastrado com Sucesso !", Toast.LENGTH_SHORT).show();
        limpaCampos();


    }


Porém sempre recebo o erro: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0, se alguém puder me ajudar seria grato, estou a 2 dias travado aí, desde já obrigado.


Editado pela última vez por kaiovinicius_ em 11 Jan 2017, 02:01, num total de 1 vezes



11 Jan 2017, 00:33
Perfil
Google employee
Google employee

Data de registro: 01 Jul 2013, 13:45
Mensagens: 2567
Localização: Rio de Janeiro
Mensagem Re: java.lang.IndexOutOfBoundsException Invalid index 0 size
Você está usando o get(0), sendo que não existe um objeto Medico nessa posição. Primeiro, verifica se a lista está vazia usando o isEmpty() dela, depois você usa o get().

_________________
Quando seu problema for resolvido, clique na opção Editar no lado superior direito da sua primeira mensagem e coloque [Resolvido] no título.
Se resolveu o problema sozinh@, não esqueça de postar a solução, ela ajuda usuários em buscas no fórum.
Use os marcadores java e xml quando for postar.

Aprenda Java com esta apostila.


11 Jan 2017, 00:48
Perfil
Android application
Android application

Data de registro: 12 Nov 2013, 10:41
Mensagens: 64
Mensagem Re: java.lang.IndexOutOfBoundsException Invalid index 0 size
Pelo que eu entendi, o get(0) pega o índice 0 da lista cuja a comparação for verdadeira.


11 Jan 2017, 00:53
Perfil
Google employee
Google employee

Data de registro: 01 Jul 2013, 13:45
Mensagens: 2567
Localização: Rio de Janeiro
Mensagem Re: java.lang.IndexOutOfBoundsException Invalid index 0 size
Não, o get(0) vai apenas retornar o primeiro item. Como ele não existe, aquela exceção é lançado por você tentar acessar uma posição inválida. Ao invés de comparar os nomes com equals(), use !lista.isEmpty() no if. E coloca o resto depois do if dentro de um bloco else.

_________________
Quando seu problema for resolvido, clique na opção Editar no lado superior direito da sua primeira mensagem e coloque [Resolvido] no título.
Se resolveu o problema sozinh@, não esqueça de postar a solução, ela ajuda usuários em buscas no fórum.
Use os marcadores java e xml quando for postar.

Aprenda Java com esta apostila.


11 Jan 2017, 01:16
Perfil
Android application
Android application

Data de registro: 12 Nov 2013, 10:41
Mensagens: 64
Mensagem Re: java.lang.IndexOutOfBoundsException Invalid index 0 size
Assim?


public void cadastrarMedico() {
        //Verifica se os campos foram preenchidos - OK
        if (editText_medico_nome.getText().toString().isEmpty() || editText_medico_telefone.getText().toString().isEmpty() ||
                editText_medico_email.getText().toString().isEmpty() || editText_medico_especialidade.getText().toString().isEmpty()) {
            Toast.makeText(this, "Preencha todos os campos !", Toast.LENGTH_SHORT).show();
        } else {

            List<Medico> MedicoLista = Medico.find(Medico.class, "nome = ?", editText_medico_nome.getText().toString());
            Medico m = MedicoLista.get(0);

            //Verifica se existe um medico com mesmo nome - OK
            if (!MedicoLista.isEmpty()){
                Toast.makeText(this, "Medico já cadastrado !", Toast.LENGTH_SHORT).show();
            } else {
                //Instanica o Medico
                Medico medico = new Medico(
                        editText_medico_nome.getText().toString(),
                        editText_medico_telefone.getText().toString(),
                        editText_medico_email.getText().toString(),
                        editText_medico_especialidade.getText().toString());
                //Era pra salvar o medico, mas esta dando erro de index 0 size is 0
                medico.save();
                Toast.makeText(this, "Médico Cadastrado com Sucesso !", Toast.LENGTH_SHORT).show();
                limpaCampos();
            }

        }
    }


11 Jan 2017, 01:24
Perfil
Google employee
Google employee

Data de registro: 01 Jul 2013, 13:45
Mensagens: 2567
Localização: Rio de Janeiro
Mensagem Re: java.lang.IndexOutOfBoundsException Invalid index 0 size
Tira a chamada ao get().

_________________
Quando seu problema for resolvido, clique na opção Editar no lado superior direito da sua primeira mensagem e coloque [Resolvido] no título.
Se resolveu o problema sozinh@, não esqueça de postar a solução, ela ajuda usuários em buscas no fórum.
Use os marcadores java e xml quando for postar.

Aprenda Java com esta apostila.


11 Jan 2017, 01:29
Perfil
Android application
Android application

Data de registro: 12 Nov 2013, 10:41
Mensagens: 64
Mensagem Re: java.lang.IndexOutOfBoundsException Invalid index 0 size
Cara, nem sei como te agradecer, funcionou....valeu mesmo !!!!!


11 Jan 2017, 02:00
Perfil
Mostrar mensagens anteriores:  Organizar por  
Este tópico está trancado, você não pode editar mensagens ou enviar respostas.   [ 7 Mensagens ] 

Quem está online

Usuários vendo este fórum: ademilson, Aderbal Nunes, AdrianoMM, afpcp, Alessandro Tavares, alex.abrantes, Alexsandro Tirloni, Anakin Skywalker, andepunk, Anderson MarkZ, Anderson.OL, ANDRE FELIX DE ASSIS, andrewort, Andrey, apoena, AT-AT, azero, Bruno, btleandro, cabelo, caciara, Cajux, caliow, careisjr, carlosavasconcelos, carminati, Cassius, cesao, cfranca, Cr-Informática, dallari, danilosouza, dchechetto, denisfln, Diego Otani, diegorrborges, digiwise, Dorpho, eduardo.ali, eferrari, eluttner, Emanuella, eusobacana, faco, Felipe, fgalvão, fmakula, francismarconcini, furlanrapha, FVB, Gabriel, Gabriel Laet, gamito, gapler, genildof, Guilherme Cobain, HAMSES, helder, Idelto, infonlinebr, j-menezes, jandersonjc, Jango Fett, jeanbr07, jefficojava, JMurray, juliana_costa, juliaojunior, juniorfranca, lalaine, leeeeooooooo, lfalcao, Lucious, marcelosv, Marlus Dias Silva, maurofjr, Meticore, mmiottobarbosa, Nidio Dolfini, nrsf, pabarbosa, Patrick, paulo.esantos, paulo.weber, pingumanbr, polonia, pomarolli, Portal Android, Qui-Gon Jinn, Rafael Felix, rayberg, regisjj, Renan, renatodondoni, ricardoogliari, Rickxdx, robertofonte, rogerio.alcantara, Rogério, rubens_olv, Samuka, scattonevi, sidnei.gs, Snappy [Bot], thiagotomais, tiagoxv, vieira, vps_rj, Wendel Carvalho, wender, weverton, wilsond, YaCy, Yuri e 7 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi