Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/07/2013, 15:06
alex_conmur
 
Fecha de Ingreso: julio-2013
Mensajes: 1
Antigüedad: 11 años, 4 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);
}
}