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