Duvida iniciante

6 respostas
D

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.

6 Respostas

leo.alvesneuwald

Opa,

Se está dando erro, provavelmente é erro da sua lógica, pois não entendo o pq do zero.

Enfim, é android:text=“0”.

D

android:text="0"
Até que melhora um pouco, mas se o usuario apagar o 0 e deixa em branco vai dar erro.

vlw.

leo.alvesneuwald

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.

D

Vou pasta o codigo:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >


    <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"
        />
</LinearLayout>
</LinearLayout>
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));
				
			}
		});
	}
}

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.

JhowTroMundo

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.

D

vlw, problema resolvido.

Criado 27 de maio de 2012
Ultima resposta 28 de mai. de 2012
Respostas 6
Participantes 3