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);
}
}


