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