4
I’m developing a simple calculator. I am checking if one of the fields is null open a Alertdialog, however I am with the error in Builder cannot be Applied, no this do Alertdialog.Builder. Can someone help me solve ?
//Declarações de Variáveis
EditText valor1, valor2, resultado;
Button soma, sub, mult, divi;
double v1, v2, result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_layout_xml);
//Obtem os objetos do actitity_layout_xml.xml
valor1 = (EditText) findViewById(R.id.calculo_valor1);
valor2 = (EditText) findViewById(R.id.calculo_valor2);
resultado = (EditText) findViewById(R.id.calculo_resultado);
//Atribuindo os botões em variáveis que foram declaradas globais
soma = (Button) findViewById(R.id.calculo_soma);
sub = (Button) findViewById(R.id.calculo_subtracao);
mult = (Button) findViewById(R.id.calculo_multiplicacao);
divi = (Button) findViewById(R.id.calculo_divisao);
//Ação dos botões
soma.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (valor1.getText().toString().isEmpty() || valor2.getText().toString().isEmpty()) {
//Alertas/Notificações
AlertDialog.Builder dlg = new AlertDialog.Builder(this);
dlg.setMessage("Há campos em branco");
dlg.setNeutralButton("OK",null);
dlg.show();
}else {
//Convertendo a variável valor1 e valor2 em string, depois em Double e armazenando em variáveis
v1 = Double.parseDouble(valor1.getText().toString());
v2 = Double.parseDouble(valor2.getText().toString());
result = v1 + v2;
//Convertendo a variável result em string e atribuindo ela em um EditText
resultado.setText(String.valueOf(result));
}
}});
sub.setOnClickListener(new View.OnClickListener()
{
public void onClick (View v){
//Convertendo a variável valor1 e valor2 em string, depois em Double e armazenando em variáveis
v1 = Double.parseDouble(valor1.getText().toString());
v2 = Double.parseDouble(valor2.getText().toString());
result = v1 - v2;
//Convertendo a variável result em string e atribuindo ela em um EditText
resultado.setText(String.valueOf(result));
}
}
);
mult.setOnClickListener(new View.OnClickListener()
{
public void onClick (View v){
//Convertendo a variável valor1 e valor2 em string, depois em Double e armazenando em variáveis
v1 = Double.parseDouble(valor1.getText().toString());
v2 = Double.parseDouble(valor2.getText().toString());
result = v1 * v2;
//Convertendo a variável result em string e atribuindo ela em um EditText
resultado.setText(String.valueOf(result));
}
}
);
divi.setOnClickListener(new View.OnClickListener()
{
public void onClick (View v){
//Convertendo a variável valor1 e valor2 em string, depois em Double e armazenando em variáveis
v1 = Double.parseDouble(valor1.getText().toString());
v2 = Double.parseDouble(valor2.getText().toString());
result = v1 / v2;
//Convertendo a variável result em string e atribuindo ela em um EditText
resultado.setText(String.valueOf(result));
}
}
);
}
}
Try to put
NomeDaClasse.this
!– Igor Mello
Igor Valeu, it worked out here
– Leonardo Arruda
Going make official the answer so that other people can also remedy their doubts!
– Igor Mello