TransWikia.com

The operator + is undefined for the argument type(s) CharSequence, int

Stack Overflow em Português Asked by Marcos Paulo S. Rezende on January 2, 2022

Estou tentando fazer a concatenação de um texto em CharSequence com int, mas o java alerta que não é possível fazer essa conversão dizendo:

The operator + is undefined for the argument type(s) CharSequence, int

Eu já tentei retirar o casting de CharSequence, além de “dar” um .toString() em tudo, mas o aplicativo não inicia quando eu faço isso.

package br.edu.ifgoiano.cadastrodeprodutos;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

public class Cadastrar extends Activity {
    Principal principal = new Principal();
/*  private int cont = 0;
    private int varAux;*/
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cadastrar);
    }

    public void tirarFoto(View view) {
        Intent tiraFoto = new Intent("android.media.action.IMAGE_CAPTURE");
        startActivityForResult(tiraFoto, 0);
    }
    **public void qntProd() {
        int cont = 0;
        if (cont == 0) {
            principal.quanti.setText((CharSequence) "Você não possui produtos cadastrados.");
        } else {
            principal.quanti.setText("Você possui " + cont +" produtos cadastrados.");
        }**
    }
    /*public int qntProdCadastrados() {
            if(cont == 0) {
                varAux =  cont;
            }else if(cont > 0){
                varAux = cont;
            }
        cont++;
        return varAux;
    }*/
    public void enviar(View view) {
        Toast.makeText(this, "O cadastro foi realizado com sucesso", Toast.LENGTH_LONG).show(); 
        Intent telaInicial = new Intent(this, Principal.class);
        startActivity(telaInicial);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data){
        if(data != null) {
            Bundle bundle = data.getExtras();
            if(bundle != null) {
                Bitmap img = (Bitmap) bundle.get("data");
                ImageView imagem = (ImageView) findViewById(R.id.imagem);
                imagem.setImageBitmap(img);
            }
        }
    }
}

One Answer

Acredito que só isto é para funcionar dado que a String ser subtipo de CharSequence:

principal.quanti.setText("Você possui " + cont + " produtos cadastrados.")

Se precisar mesmo, pode fazer:

principal.quanti.setText((CharSequence)("Você possui " + cont + " produtos cadastrados."))

Coloquei no GitHub para referência futura.

Answered by Maniero on January 2, 2022

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP