1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Erro android.content.res.Resources$NotFoundException: String resource ID #0x1

Comecei a estudar android faz pouco tempo e estou tentando desenvolver um aplicativo de controle de estoque. O aplicativo está funcionando, mas depois que cadastro um produto e entro na tela de pesquisa, onde posso ver todos os produtos que cadastrei, se eu clicar em algum produto aparece uma janela pro usuário selecionar o que ele quer fazer com esse produto, tem 3 botões "Cancelar", "Excluir" e "Editar", só o de editar não está funcionando, quando clico em editar da esse erro e o aplicativo para de funcionar. Alguém pode me ajudar e explicar onde estou errando, por favor?

o erro que dá é esse:

09-22 19:16:22.305 5432-5432/gabi.controleestoque E/AndroidRuntime: FATAL EXCEPTION: main
    Process: gabi.controleestoque, PID: 5432
    java.lang.RuntimeException: Unable to start activity ComponentInfo{gabi.controleestoque/gabi.controleestoque.activities.EditarProdutos}: android.content.res.Resources$NotFoundException: String resource ID #0x1
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2830)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2909)
        at android.app.ActivityThread.-wrap11(Unknown Source:0)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1606)
        at android.os.Handler.dispatchMessage(Handler.java:105)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:6592)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)
     Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x1
        at android.content.res.Resources.getText(Resources.java:338)
        at android.widget.TextView.setText(TextView.java:5523)
        at gabi.controleestoque.activities.EditarProdutos.setDadosProduto(EditarProdutos.java:79)
        at gabi.controleestoque.activities.EditarProdutos.onCreate(EditarProdutos.java:66)
        at android.app.Activity.performCreate(Activity.java:6984)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1235)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2783)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2909) 
        at android.app.ActivityThread.-wrap11(Unknown Source:0) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1606) 
        at android.os.Handler.dispatchMessage(Handler.java:105) 
        at android.os.Looper.loop(Looper.java:164) 
        at android.app.ActivityThread.main(ActivityThread.java:6592) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)

Esse código é pra cadastrar os produtos

public class ActivityProduto extends AppCompatActivity {

    //Nome dos componentes do produto.xml

    private EditText edtIdProduto;
    private Spinner edtCorredor;
    private EditText edtPrateleira;
    private Spinner edtCaixa;
    private Spinner edtColecao;
    private EditText edtModelo;
    private EditText edtQuantidade;
    private Spinner edtTamanho;

    private Button btnSalvarProduto;

    private Produto produto;


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

    //Pegue o edit Text do layout activity_produto correspondente ao seu id
    edtIdProduto = (EditText) findViewById(R.id.edtIdProduto);
    edtCorredor = (Spinner) findViewById(R.id.edtCorredor);
    edtPrateleira = (EditText) findViewById(R.id.edtPrateleira);
    edtCaixa = (Spinner) findViewById(R.id.edtCaixa);
    edtModelo = (EditText) findViewById(R.id.edtModelo);
    edtQuantidade = (EditText) findViewById(R.id.edtQuantidade);
    edtTamanho = (Spinner) findViewById(R.id.edtTamanho);
    edtColecao = (Spinner) findViewById(R.id.edtColecao);

    btnSalvarProduto = (Button) findViewById(R.id.btnSalvarProduto);

    this.clickNoBotaoSalvarListener();

    }



    private void clickNoBotaoSalvarListener(){

        this.btnSalvarProduto.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {

                Produto produtoACadastrar = getDadosProdutoDoFomulario();

                if (produtoACadastrar != null) {

                 ProdutoCtrl produtoCtrl = new ProdutoCtrl(ConexaoSQLite.getInstancia(ActivityProduto.this));
                 long idProduto = produtoCtrl.salvarProdutoCtrl(produtoACadastrar);

                 if (idProduto > 0){
                     Toast.makeText(ActivityProduto.this, "Produto Cadastrado", Toast.LENGTH_LONG).show();
                 } else {

                     Toast.makeText(ActivityProduto.this, "Produto não foi Cadastrado", Toast.LENGTH_LONG).show();
                 }

                } else {
                    Toast.makeText(ActivityProduto.this, "Todos os campos são obrigatórios", Toast.LENGTH_LONG).show();
                }
            }
        });

    }




    //Pegar os dados digitados no formulario de cadastro
    private Produto getDadosProdutoDoFomulario(){

        this.produto = new Produto();

        if (this.edtIdProduto.getText().toString().isEmpty()== false){
            this.produto.setId(Long.parseLong(this.edtIdProduto.getText().toString()));
        } else {

            return null;
        }

        if(this.edtCorredor.getSelectedItem().toString().isEmpty() == false){
            this.produto.setCorredor(this.edtCorredor.getSelectedItem().toString());
        } else {

            return null;
        }


        if(this.edtPrateleira.getText().toString().isEmpty() == false){
            int prateleira = Integer.parseInt(this.edtPrateleira.getText().toString());
            this.produto.setPrateleira(prateleira);
        } else {

            return null;
        }

        if(this.edtCaixa.getSelectedItem().toString().isEmpty() == false){
        this.produto.setCaixa(this.edtCaixa.getSelectedItem().toString());
    } else {

        return null;
    }

        if(this.edtColecao.getSelectedItem().toString().isEmpty() == false){
        this.produto.setColecao(this.edtColecao.getSelectedItem().toString());
    } else {

        return null;
    }


        if(this.edtModelo.getText().toString().isEmpty() == false){
            this.produto.setModelo(this.edtModelo.getText().toString());
        } else {

            return null;
        }

        if(this.edtQuantidade.getText().toString().isEmpty() == false){
            int quantidade = Integer.parseInt(this.edtQuantidade.getText().toString());
            this.produto.setQuantidade(quantidade);
        } else {

            return null;
        }

        if(this.edtTamanho.getSelectedItem().toString().isEmpty() == false){
        this.produto.setTamanho(this.edtTamanho.getSelectedItem().toString());
    } else {

        return null;
    }


        return produto;
    }


}

E esse é quando o produto já foi cadastrado e eu clico no botão de editar o produto

public class EditarProdutos extends AppCompatActivity  {


    private EditText edtIdProduto;
    private Spinner edtCorredorProduto;
    private EditText edtPrateleiraProduto;
    private Spinner edtCaixaProduto;
    private Spinner edtColecaoProduto;
    private EditText edtModeloProduto;
    private EditText edtQuantidadeProduto;
    private Spinner edtTamanhoProduto;

    private Button btnSalvarAlteracoes;

    private Produto produto;


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



    this.edtIdProduto = (EditText) findViewById(R.id.edtIdProduto);
    this.edtCorredorProduto = (Spinner)findViewById(R.id.edtCorredor);
    this.edtPrateleiraProduto = (EditText) findViewById(R.id.edtPrateleira);
    this.edtCaixaProduto = (Spinner) findViewById(R.id.edtCaixa);
    this. edtColecaoProduto = (Spinner) findViewById(R.id.edtColecao);
    this.edtModeloProduto = (EditText) findViewById(R.id.edtModelo);
    this.edtQuantidadeProduto = (EditText) findViewById(R.id.edtQuantidade);
    this.edtTamanhoProduto = (Spinner) findViewById(R.id.edtTamanho);

    this.btnSalvarAlteracoes = (Button) findViewById(R.id.btnSalvarProduto);


    Bundle bundleDadosProduto = getIntent().getExtras();

        Produto produto = new Produto();
        produto.setId(bundleDadosProduto.getLong("id_produto"));
        produto.setCorredor(bundleDadosProduto.getString("corredor_produto"));
        produto.setPrateleira(bundleDadosProduto.getInt("prateleira_produto"));
        produto.setCaixa(bundleDadosProduto.getString("caixa_produto"));
        produto.setColecao(bundleDadosProduto.getString("colecao_produto"));
        produto.setModelo(bundleDadosProduto.getString("modelo_produto"));
        produto.setQuantidade(bundleDadosProduto.getInt("quantidade_produto"));
        produto.setTamanho(bundleDadosProduto.getString("tamanho_produto"));

        this.setDadosProduto(produto);

        this.clickNoBotaoSalvarListener();

    }


    private void setDadosProduto(Produto produto){



        this.edtIdProduto.setText(String.valueOf(produto.getId()));
        this.edtCorredorProduto.setSelection(1);
        this.edtPrateleiraProduto.setText(produto.getPrateleira());
        this.edtCaixaProduto.setSelection(3);
        this.edtColecaoProduto.setSelection(4);
        this.edtModeloProduto.setText(produto.getModelo());
        this.edtQuantidadeProduto.setText(String.valueOf(produto.getQuantidade()));
        this.edtTamanhoProduto.setSelection(7);


    }

    //Pegar os dados digitados no formulario de cadastro
    private Produto getDadosProdutoDoFomulario(){

        this.produto = new Produto();

        if (this.edtIdProduto.getText().toString().isEmpty()== false){
            this.produto.setId(Long.parseLong(this.edtIdProduto.getText().toString()));
        } else {

            return null;
        }


        if(false == this.edtCorredorProduto.getSelectedItem().toString().isEmpty()){
            this.produto.setCorredor(this.edtCorredorProduto.getSelectedItem().toString());
        } else {

            return null;
        }

        if(this.edtPrateleiraProduto.getText().toString().isEmpty() == false){
            int prateleira = Integer.parseInt(this.edtPrateleiraProduto.getText().toString());
            this.produto.setPrateleira(prateleira);
        } else {

            return null;
        }

        if(false == this.edtCaixaProduto.getSelectedItem().toString().isEmpty()){
            this.produto.setCaixa(this.edtCaixaProduto.getSelectedItem().toString());
        } else {

            return null;
        }

        if(false == this.edtColecaoProduto.getSelectedItem().toString().isEmpty()){
            this.produto.setColecao(this.edtColecaoProduto.getSelectedItem().toString());
        } else {

            return null;
        }


        if(this.edtModeloProduto.getText().toString().isEmpty() == false){
            this.produto.setModelo(this.edtModeloProduto.getText().toString());
        } else {

            return null;
        }

        if(this.edtQuantidadeProduto.getText().toString().isEmpty() == false){
            int quantidade = Integer.parseInt(this.edtQuantidadeProduto.getText().toString());
            this.produto.setQuantidade(quantidade);
        } else {

            return null;
        }

        if(false == this.edtTamanhoProduto.getSelectedItem().toString().isEmpty()){
            this.produto.setTamanho(this.edtTamanhoProduto.getSelectedItem().toString());
        } else {

            return null;
        }

        return produto;
    }


    private void clickNoBotaoSalvarListener(){

        this.btnSalvarAlteracoes.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View view) {

                Produto produtoAAtualizar = getDadosProdutoDoFomulario();


                Log.d("PRODUTO RECUPERADO ", produtoAAtualizar.toString());


                if (produtoAAtualizar != null) {

                  ProdutoCtrl produtoCtrl = new ProdutoCtrl(ConexaoSQLite.getInstancia(EditarProdutos.this));
                   boolean atualizou = produtoCtrl.atualizarProduto(produtoAAtualizar);

                   if (atualizou == true){
                       Toast.makeText(EditarProdutos.this, "Produto alterado", Toast.LENGTH_LONG).show();
                   } else {
                       Toast.makeText(EditarProdutos.this, "Produto não foi alterado", Toast.LENGTH_LONG).show(); }

               } else {
                   Toast.makeText(EditarProdutos.this, "Todos os campos são obrigatórios", Toast.LENGTH_LONG).show();
                }
            }
        });

    }




}

Desde já agradeço!

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags android java ou faça a sua própria pergunta.