Android Studio: Invisible problem? [closed]

0

Hello, I'm making an app to calculate the best buy between 2 products, in this case it's toilet paper.

In the title I put invisible problem because android studio 3 does not detect any errors in the compilation, however, when I run the application, when I click the compare button the application gives error and asks to be restarted without explaining where the error is. I leave here the codes to see if anyone can help me, because I can not find the error, nor the android studio, lool

xml file:

<?xml version="1.0" encoding="utf-8"?>

<TextView
    android:id="@+id/textView2"
    android:layout_width="420dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="24dp"
    android:layout_marginStart="24dp"
    android:layout_marginTop="28dp"
    android:text="Comparar 2 preços de papel higienico para saber qual é o mais barato. Preencha os dados e clique no botão Comparar!"
    android:textSize="18sp" />

<EditText
    android:id="@+id/editPrecoA"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView2"
    android:layout_alignStart="@+id/textView2"
    android:layout_below="@+id/textView3"
    android:layout_marginTop="19dp"
    android:ems="10"
    android:hint="Preço"
    android:inputType="numberDecimal"
    android:textSize="14sp" />

<TextView
    android:id="@+id/textView3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editPrecoA"
    android:layout_alignStart="@+id/editPrecoA"
    android:layout_below="@+id/textView2"
    android:layout_marginTop="41dp"
    android:text="Papel Higiénico A"
    android:textSize="18sp" />

<EditText
    android:id="@+id/editRolosA"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/editPrecoA"
    android:layout_alignLeft="@+id/editPrecoA"
    android:layout_alignRight="@+id/editPrecoA"
    android:layout_alignStart="@+id/editPrecoA"
    android:layout_below="@+id/editPrecoA"
    android:ems="10"
    android:hint="Nº Rolos"
    android:inputType="number"
    android:textSize="14sp" />

<EditText
    android:id="@+id/editMetrosA"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/editRolosA"
    android:layout_alignLeft="@+id/editRolosA"
    android:layout_alignRight="@+id/editRolosA"
    android:layout_alignStart="@+id/editRolosA"
    android:layout_below="@+id/editRolosA"
    android:ems="10"
    android:hint="Metros por rolo"
    android:inputType="number"
    android:textSize="14sp" />

<EditText
    android:id="@+id/editPrecoB"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/editPrecoA"
    android:layout_alignBottom="@+id/editPrecoA"
    android:layout_alignParentEnd="true"
    android:layout_alignParentRight="true"
    android:layout_marginEnd="21dp"
    android:layout_marginRight="21dp"
    android:ems="10"
    android:hint="Preço"
    android:inputType="numberDecimal"
    android:textSize="14sp" />

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@+id/textView3"
    android:layout_alignBottom="@+id/textView3"
    android:layout_alignLeft="@+id/editPrecoB"
    android:layout_alignStart="@+id/editPrecoB"
    android:text="Papel Higiénico B"
    android:textSize="18sp" />

<EditText
    android:id="@+id/editRolosB"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editPrecoB"
    android:layout_alignStart="@+id/editPrecoB"
    android:layout_below="@+id/editPrecoB"
    android:ems="10"
    android:hint="Nº Rolos"
    android:inputType="number"
    android:textSize="14sp" />

<EditText
    android:id="@+id/editMetrosB"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editRolosB"
    android:layout_alignStart="@+id/editRolosB"
    android:layout_below="@+id/editRolosB"
    android:ems="10"
    android:hint="Metros por rolo"
    android:inputType="number"
    android:textSize="14sp" />

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/textResultadoB"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="15dp"
    android:onClick="calcular_produtos"
    android:text="Comparar" />

<TextView
    android:id="@+id/textResultadoA"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editMetrosA"
    android:layout_alignStart="@+id/editMetrosA"
    android:layout_centerVertical="true"
    android:text="....." />

<TextView
    android:id="@+id/textResultadoB"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/editMetrosB"
    android:layout_alignStart="@+id/editMetrosB"
    android:layout_alignTop="@+id/textResultadoA"
    android:text="....." />

<TextView
    android:id="@+id/textResultadoFinal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignEnd="@+id/textView3"
    android:layout_alignRight="@+id/textView3"
    android:layout_below="@+id/button"
    android:layout_marginEnd="27dp"
    android:layout_marginRight="27dp"
    android:layout_marginTop="69dp"
    android:text="....." />

Now the class file

package com.blogspot.comprasinteligentes;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Main2Activity extends AppCompatActivity {

    EditText editPrecoA, editPrecoB, editRolosA, editRolosB, editMetrosA, editMetrosB;
    TextView textResultadoA, textResultadoB, textResultadoFinal;
    Button button;

    Double NumRolosA, NumRolosB, TotalMetrosA, TotalMetrosB, NumMetrosA, NumMetrosB, ValorPorMetroA, ValorPorMetroB, PrecoA, PrecoB, Dif, Poupanca;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);


        //Procura os valores dos objetos
        editPrecoA = (EditText)findViewById(R.id.editPrecoA);
        editPrecoB = (EditText)findViewById(R.id.editPrecoB);

        editRolosA = (EditText)findViewById(R.id.editRolosA);
        editRolosB = (EditText)findViewById(R.id.editRolosB);

        editMetrosA = (EditText)findViewById(R.id.editMetrosA);
        editMetrosB = (EditText)findViewById(R.id.editMetrosB);

        textResultadoA = (TextView)findViewById(R.id.textResultadoA);
        textResultadoA = (TextView)findViewById(R.id.textResultadoB);
        textResultadoFinal = (TextView)findViewById(R.id.textResultadoFinal);

        button = (Button)findViewById(R.id.button);


        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
            //Ao clicar em Comparar então vai calcular o produto mais barato
             // Contas ==========================================
             // TotalMetros = NºRolos x Metros por rolo
             // ValorPorMetro = Preco / TotalMetros

             // Dif = ValorPorMetroA - ValorPorMetroB

             // Poupança = Did x TotalMetros

             //================================================

                NumRolosA = Double.parseDouble(editRolosA.getText().toString());
                NumMetrosA = Double.parseDouble(editMetrosA.getText().toString());

                TotalMetrosA = NumRolosA * NumMetrosA;

                NumRolosB = Double.parseDouble(editRolosB.getText().toString());
                NumMetrosB = Double.parseDouble(editMetrosB.getText().toString());

                TotalMetrosB = NumRolosB * NumMetrosB;

               PrecoA = Double.parseDouble(editPrecoA.getText().toString());
               ValorPorMetroA = PrecoA / TotalMetrosA;

                PrecoB = Double.parseDouble(editPrecoB.getText().toString());
                ValorPorMetroB = PrecoB / TotalMetrosB;



             if (ValorPorMetroA > ValorPorMetroB) {
                 Dif = ValorPorMetroA - ValorPorMetroB;
                 Poupanca = Dif * TotalMetrosB;

                 //Mostra resultados
                 textResultadoFinal.setText("Vencedor: Papel Higiénico A\nPoupa nesta embalagem: " + String.valueOf(Poupanca));
             }

             if (ValorPorMetroA < ValorPorMetroB) {
                 Dif = ValorPorMetroB - ValorPorMetroA;
                 Poupanca = Dif * TotalMetrosA;

                 //Mostra resultado
                 textResultadoFinal.setText("Vencedor: Papel Higiénico B\nPoupa nesta embalagem: " + String.valueOf(Poupanca));
             }

             if (ValorPorMetroA == ValorPorMetroB) {
                 Dif = ValorPorMetroA - ValorPorMetroB;
                 Poupanca = Dif * TotalMetrosA;

                 textResultadoFinal.setText("Vencedor: Ambos custam o mesmo!");
             }

             textResultadoA.setText("Preço por metro: " + String.valueOf(ValorPorMetroA));
             textResultadoB.setText("Preço por metro: " + String.valueOf(ValorPorMetroB));
            }

     });

    }
    
asked by anonymous 13.11.2017 / 15:46

1 answer

3

You were wrong here:

textResultadoA = (TextView)findViewById(R.id.textResultadoA);
textResultadoA = (TextView)findViewById(R.id.textResultadoB);
textResultadoFinal = (TextView)findViewById(R.id.textResultadoFinal);

It has 2 textResultadoA

Correct:

textResultadoA = (TextView)findViewById(R.id.textResultadoA);
textResultadoB = (TextView)findViewById(R.id.textResultadoB);
textResultadoFinal = (TextView)findViewById(R.id.textResultadoFinal);
    
13.11.2017 / 16:20