Foros del Web » Programando para Internet » Android »

Comunicarse entre dos clases para mostrar resultado de operacion en TextView

Estas en el tema de Comunicarse entre dos clases para mostrar resultado de operacion en TextView en el foro de Android en Foros del Web. Hola, espero esten bien. mi problema es este... Estoy desarrollando una solucion para una neveria, donde tengo una actividad "Compras.java" con la interfaz "activity_compras.xml" En ...
  #1 (permalink)  
Antiguo 21/07/2013, 15:06
 
Fecha de Ingreso: julio-2013
Mensajes: 1
Antigüedad: 10 años, 9 meses
Puntos: 0
Comunicarse entre dos clases para mostrar resultado de operacion en TextView

Hola, espero esten bien.

mi problema es este...

Estoy desarrollando una solucion para una neveria, donde tengo una actividad "Compras.java" con la interfaz "activity_compras.xml"

En esta interfaz tengo un Spinner que contiene los diferentes tipos de producto que se venden, al seleccionar uno me manda al onClickListener() de este y mediante condiciones le da un valor "Int" para asi devolverlo y poder seguir con la operacion en la interfaz, despues de elegir el producto, en un EditText pongo la cantidad de productos a comprar y al darle click a un Button me manda al evento "agregar" que se encuentra en la Clase "Compras.java" y asi lo sumo para mostrar el resultado en una TextView.

Me explico?

Código:

/////////////////////////////////////////////Interfaz grafica de compras
///////////////////////////////////////////////////////////////////////////////


<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/madera"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Compras" >

<!-- ListBoxs -->

<Spinner
android:id="@+id/lstb_producto"
style="@style/spinner_style"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_x="15dp"
android:layout_y="40dp"
android:entries="@array/lstb_producto"
android:gravity="center_horizontal|fill_horizontal"
android:soundEffectsEnabled="true" />

<!-- Simples Labels -->

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="350dp"
android:layout_y="35dp"
android:text="Total:"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/titulo"
android:textSize="50sp" />

<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="350dp"
android:layout_y="100dp"
android:text="Recibido:"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/titulo"
android:textSize="50sp" />

<TextView
android:id="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="350dp"
android:layout_y="300dp"
android:text="Cambio:"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/titulo"
android:textSize="50sp" />

<!-- Labels a Modificar -->

<TextView
android:id="@+id/lbl_total"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="600dp"
android:layout_y="35dp"
android:text="$........"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/white"
android:textSize="30sp" />

<TextView
android:id="@+id/lbl_cambio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="600dp"
android:layout_y="300dp"
android:text="$........"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/white"
android:textSize="30sp" />

<!-- Text Boxes -->

<EditText
android:id="@+id/txt_recibido"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_x="600dp"
android:layout_y="100dp"
android:ems="10"
android:hint="#"
android:inputType="number"
android:textSize="30sp" />

<!-- Botones -->

<ImageButton
android:id="@+id/btn_compraRealizada"
android:layout_width="160dp"
android:layout_height="399dp"
android:layout_x="800dp"
android:layout_y="30dp"
android:src="@drawable/money" />

<Button
android:id="@+id/btn_comprar"
android:layout_width="298dp"
android:layout_height="wrap_content"
android:layout_x="380dp"
android:layout_y="231dp"
android:text="Comprar" />

<Button
android:id="@+id/btn_cancelar"
android:layout_width="298dp"
android:layout_height="wrap_content"
android:layout_x="380dp"
android:layout_y="380dp"
android:text="Cancelar" />

<EditText
android:id="@+id/txt_cantidad"
android:layout_width="80dp"
android:layout_height="wrap_content"
android:layout_x="54dp"
android:layout_y="137dp"
android:ems="10"
android:hint="#"
android:inputType="number"
android:textSize="50sp" >

<requestFocus />
</EditText>

<Button
android:id="@+id/btn_agregar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_x="50dp"
android:layout_y="261dp"
android:onClick="calcularTotal"
android:text="agregar" />

</AbsoluteLayout>

Código:
////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////compras.java



package actividades;

import java.util.LinkedList;

import com.example.pyn.R;

import entidades.Pedido;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.Editable;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class Compras extends Activity {

private int precio;
private String productoSeleccionado;

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


Spinner spinner = (Spinner) findViewById(R.id.lstb_producto);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id){
productoSeleccionado = parent.getItemAtPosition(pos).toString();
Context context = parent.getContext();
Toast.makeText(context,"Ha seleccionado " + productoSeleccionado, Toast.LENGTH_LONG).show();
}

public void onNothingSelected(AdapterView parent){
// Nothing
}

});
}





public void agregar(){

//Traego la Cantidad
EditText txtCantidad = (EditText) findViewById(R.id.txt_cantidad);
int cantidad = Integer.parseInt(txtCantidad.getText().toString());


//Agregamos el pedido a la Lista
LinkedList<Pedido> pedido = new LinkedList<Pedido>();
//Le ponemos los items
//Agregamos para Registro
pedido.add(new Pedido(productoSeleccionado, cantidad));
//Creamos un nuevo para Cobrarlo
Pedido ped = new Pedido(productoSeleccionado, cantidad);

TextView lbl = (TextView) findViewById(R.id.lbl_total);
lbl.setText("$" + (ped.calcularPrecio()));
}


}

////////////////////////Tengo otras dos Clases de entidades Paquete y Pedido

///////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////Paquete.class
package entidades;

import java.util.List;

public class Paquete {
private String producto;
private int precio;

public Paquete(){
super();
}

public int getPrecio() {
return precio;
}

public void setPrecio(int precio) {
if
(producto.equals("1")){
precio=10;
}else if
(producto.equals("2")){
precio=15;
}else if
(producto.equals("3")){
precio=20;
}else if
(producto.equals("4")){	
precio=18;
}else if
(producto.equals("5")){	
precio=23;
}else if
(producto.equals("6")){	
precio=5;
}else if

////////////////////////////////////////////////////////////////Pedido.class

package entidades;

import java.util.List;

import android.R.string;

public class Pedido {

Paquete p = new Paquete();
private int cantidad;

public Pedido() {
super();
}

public Pedido(String producto, int cantidad) {
super();

p.setProducto(producto);
this.cantidad = cantidad;
}

public int calcularPrecio(){


Paquete p = new Paquete();
p.getPrecio();


return ((p.getPrecio())*cantidad);
}
}
  #2 (permalink)  
Antiguo 23/07/2013, 07:19
 
Fecha de Ingreso: julio-2013
Ubicación: Guerrero
Mensajes: 15
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Comunicarse entre dos clases para mostrar resultado de operacion en TextVi

en la 1ra actividad haces las operaciones y en la segunda quieres llevar solo el resultado y mostrarlo en un textview?
Te recomendaria hacer uso de sqlite para agregar todos los productos que se pidan o si quieren cancelar alguno de ellos pues lo saques del pedido, y ya, al final haces operaciones con ellos.
cuales son tus clases en tu comentario solo leo la clase compras.java
Te faltaría leer algo como Intent y putextra

Etiquetas: class, layout
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:18.