0
I am creating an application and would like the result of the cost price operation plus profit percentage to appear in the sales price result and the latter cannot be edited at the time of saving the data. I ask you to be as specific as possible because I don’t have much experience. Thank you.
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;
import br.gestaoBd.BancoDeDados.ProdutoDao;
import br.gestaoBd.Beans.Produto;
public class CadProdutos extends Activity {
private ImageView imgView = null;
static final int SALVAR = 0, EXCLUIR = 1, LIMPAR = 2;
EditText edId, edDescricao, edPrecoDeCusto, edPercDeLucro, edPrecoDeVenda;
ProdutoDao prodDao;
Produto produto;
ImageView imgFoto;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.cad_produtos);
edId = (EditText) findViewById(R.id.cadEdId);
edDescricao = (EditText) findViewById(R.id.cadEdDescricao);
edPrecoDeCusto = (EditText) findViewById(R.id.cadEdPrecoDeCusto);
edPrecoDeCusto.addTextChangedListener(new MonetaryMask(edPrecoDeCusto));
edPercDeLucro = (EditText) findViewById(R.id.cadEdPercDeLucro);
edPrecoDeVenda = (EditText) findViewById(R.id.cadEdPrecoDeVenda);
edPrecoDeVenda.addTextChangedListener(new MonetaryMask(edPrecoDeVenda));
imgView = (ImageView) findViewById(R.id.imgFoto);
Produto produtoRecebido = (Produto) getIntent().getSerializableExtra("Produto");
if (produtoRecebido != null) {
montaTela(produtoRecebido);
} else {
montaTela(new Produto());
}
Button btn1Salvar = (Button) findViewById(R.id.btSalvar);
btn1Salvar.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Produto pro = new Produto();
pro.setId(Integer.valueOf(edId.getText().toString()));
pro.setDescricao(edDescricao.getText().toString());
pro.setPrecoDeCusto(MonetaryMask.stringMonetarioToDouble(edPrecoDeCusto.getText().toString()));
pro.setPercDeLucro(Double.valueOf(edPercDeLucro.getText().toString()));
pro.setPrecoDeVenda(MonetaryMask.stringMonetarioToDouble(edPrecoDeVenda.getText().toString()));
if (pro.getId() > 0) {
getProDao().alterar(pro);
} else {
getProDao().inserirProduto(pro);
}
ToastManager.show(getBaseContext(), "Salvo com Sucesso",
ToastManager.INFORMATION);
}
});
Button btnLimpar = (Button) findViewById(R.id.btLimpar);
btnLimpar.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
montaTela(new Produto());
}
});
Button bt2Excluir = (Button) findViewById(R.id.bt2Excluir);
bt2Excluir.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
final Produto pro = new Produto();
pro.setId(Integer.valueOf(edId.getText().toString()));
pro.setDescricao(edDescricao.getText().toString());
pro.setPrecoDeCusto(Double.valueOf(edPrecoDeCusto.getText().toString()));
pro.setPercDeLucro(Double.valueOf(edPercDeLucro.getText().toString()));
pro.setPrecoDeVenda(Double.valueOf(edPrecoDeVenda.getText().toString()));
AlertDialog.Builder builder = new AlertDialog.Builder(CadProdutos.this);
builder.setTitle("Deseja Excluir?");
builder.setMessage("O produto será deletado!");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
getProDao().excluir(pro);
montaTela(new Produto());
ToastManager.show(getBaseContext(), "Produto Excluído",
ToastManager.INFORMATION);
}
});
builder.setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(CadProdutos.this, "Cancelado", Toast.LENGTH_LONG).show();
}
});
AlertDialog alert = builder.create();
alert.show();
}
});
}
private void montaTela(Produto produto) {
edId.setText(String.valueOf(produto.getId()));
edDescricao.setText(produto.getDescricao());
edPrecoDeCusto.setText(String.valueOf(produto.getPrecoDeCusto()));
edPercDeLucro.setText(String.valueOf(produto.getPercDeLucro()));
edPrecoDeVenda.setText(String.valueOf(produto.getPrecoDeVenda()));
}
public ProdutoDao getProDao() {
if (prodDao == null) {
prodDao = new ProdutoDao();
}
return prodDao;
}
public void tirarFoto(View view) {
Intent i = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(i, 0);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (data != null) {
Bundle bundle = data.getExtras();
if (bundle != null) {
Bitmap bitmap = (Bitmap) bundle.get("data");
imgView.setImageBitmap(bitmap);
}
}
}
}
This method would be called by click on a button or automatically when filling the other fields?
– ramaral
@ramaral The idea was to make automatic when filling the fields..
– Eduardo Krakhecke
Search for Textwatcher.
– ramaral