Galera estou iniciando no android hoje, e fazendo meu primeiro programinha, surgiu uma duvida.
Como faço para setar o valor inicial do EditText em zero?
Estou fazendo um programa para somar 3 notas e dividir por 3(calcula media), só que ao deixa um dos campo do EditText em branco esta dando erro.
Obg.
Opa,
Se está dando erro, provavelmente é erro da sua lógica, pois não entendo o pq do zero.
Enfim, é android:text=“0”.
android:text="0"
Até que melhora um pouco, mas se o usuario apagar o 0 e deixa em branco vai dar erro.
vlw.
mas qual o problema afinal? Algum tipo de nullpointer? Se for isso, tu tem de controlar na activity. Tu até pode apresentar um teclado para o usuário digitar somente números.
Vou pasta o codigo:
[code]
<?xml version="1.0" encoding="utf-8"?>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Digite o primeiro numero:" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+calculo/numero1"
android:numeric="decimal"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Digite o segundo numero:"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+calculo/numero2"
android:numeric="decimal"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Resultado:"
/>
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+calculo/resultado"
/>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+botao/btSoma"
android:text="Somar"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+botao/btDividir"
android:text="Dividir"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+botao/btSubtrair"
android:text="Subtrair"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+botao/btMultiplicar"
android:text="Multiplicar"
/>
[/code]
[code]
package pitangui.br;
import android.app.Activity;
import android.os.Bundle;
import android.widget.;
import android.view.;
public class CalculadoraActivity extends Activity {
/** Called when the activity is first created. */
EditText etNum1;
EditText etNum2;
EditText etResultado;
Button btSomar, btDividir, btSubtrair, btMultiplicar;
double num1;
double num2;
double resultado;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
etNum1 = (EditText) findViewById(R.calculo.numero1);
etNum2 = (EditText) findViewById(R.calculo.numero2);
etResultado = (EditText) findViewById(R.calculo.resultado);
btSomar = (Button) findViewById(R.botao.btSoma);
btDividir = (Button) findViewById(R.botao.btDividir);
btSubtrair = (Button) findViewById(R.botao.btSubtrair);
btMultiplicar = (Button) findViewById(R.botao.btMultiplicar);
btSomar.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
num1=Double.parseDouble(etNum1.getText().toString());
num2=Double.parseDouble(etNum2.getText().toString());
resultado=num1+num2;
etResultado.setText(String.valueOf(resultado));
}
});
btDividir.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
num1=Double.parseDouble(etNum1.getText().toString());
num2=Double.parseDouble(etNum2.getText().toString());
resultado=num1/num2;
etResultado.setText(String.valueOf(resultado));
}
});
btSubtrair.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
num1=Double.parseDouble(etNum1.getText().toString());
num2=Double.parseDouble(etNum2.getText().toString());
resultado=num1-num2;
etResultado.setText(String.valueOf(resultado));
}
});
btMultiplicar.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
num1=Double.parseDouble(etNum1.getText().toString());
num2=Double.parseDouble(etNum2.getText().toString());
resultado=num1*num2;
etResultado.setText(String.valueOf(resultado));
}
});
}
}[/code]
Bom essa é uma cálculadora simples, que vem ensinando a fazer em diversor tutorias.
Agora oq ta acontecendo é o seguindo, se eu colocar um numero qualquer no primeiro EditText e deixa o segundo sem nada, vai da erro.
Coloca android:text=“0”, resolveria o problema + o usuario uma hora ou outra conserteza iria apagar o 0.
Gostaria de saber como fasso para determinia que o valor da EditText que estiver em branco seja zero.
VlW.
Quando der um getText() no edit text, verifica se a String é vazia. Se true, vc atribui zero ao invés de dar o parseDouble.
num1= etNum1.getText().toString().equals("") ? 0.0 : Double.parseDouble(etNum1.getText().toString());
Ou coloca um listener no EditText. Toda vez que o getText().size() for 0, vc seta a string “0” no campo.