Guest User

ListaClientes.class

a guest
Oct 27th, 2014
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.31 KB | None | 0 0
  1.    
  2.  
  3.     package com.example.basedatosprueba;
  4.      
  5.     import java.util.ArrayList;
  6.      
  7.     import android.content.Intent;
  8.     import android.database.Cursor;
  9.     import android.database.sqlite.SQLiteDatabase;
  10.     import android.os.Bundle;
  11.     import android.support.v7.app.ActionBarActivity;
  12.     import android.view.Menu;
  13.     import android.view.MenuItem;
  14.     import android.view.View;
  15.     import android.view.View.OnClickListener;
  16.     import android.widget.AdapterView;
  17.     import android.widget.AdapterView.OnItemClickListener;
  18.     import android.widget.Button;
  19.     import android.widget.ListView;
  20.     import android.widget.SimpleCursorAdapter;
  21.     import android.widget.Toast;
  22.      
  23.      
  24.     public class ListaClientes extends ActionBarActivity {
  25.             // ListView que mostrará los clientes
  26.             ListView listviewclientes;
  27.             // Clase que nos facilita los métodos para gestionar la Base de Datos
  28.             SQLiteDatabase sql;
  29.             // Adaptador Cursor para recorrer los diferentes campos
  30.             SimpleCursorAdapter adaptador;
  31.             // ArrayList de objetos Clientes
  32.             ArrayList<Clientes> listaClientes;
  33.             Button mas;
  34.      
  35.         @Override
  36.         protected void onCreate(Bundle savedInstanceState) {
  37.             super.onCreate(savedInstanceState);
  38.             setContentView(R.layout.activity_lista_clientes);
  39.             PintarActividad();
  40.         }
  41.      
  42.      
  43.         @Override
  44.         public boolean onCreateOptionsMenu(Menu menu) {
  45.             // Inflate the menu; this adds items to the action bar if it is present.
  46.             getMenuInflater().inflate(R.menu.main, menu);
  47.             return true;
  48.         }
  49.      
  50.         @Override
  51.         public boolean onOptionsItemSelected(MenuItem item) {
  52.             // Handle action bar item clicks here. The action bar will
  53.             // automatically handle clicks on the Home/Up button, so long
  54.             // as you specify a parent activity in AndroidManifest.xml.
  55.             int id = item.getItemId();
  56.             if (id == R.id.action_settings) {
  57.                 return true;
  58.             }
  59.             return super.onOptionsItemSelected(item);
  60.         }
  61.        
  62.         // Clase que repinta la actividad cada vez que la llamamos
  63.         private void PintarActividad() {
  64.             BaseDatos bd = new BaseDatos(this);
  65.             sql = bd.getWritableDatabase();
  66.             listviewclientes = (ListView)findViewById(R.id.listView1);
  67.             Cursor cursor = sql.rawQuery("select * from clientes", null);
  68.             String[] campos = {"Nombre", "Apellidos"};
  69.             int[] ids = {R.id.nombre_cliente,R.id.apellidos_cliente};
  70.             // Creamos el adaptador pasandole el cursor, el nombre de los campos e
  71.             // identificadores que llenará automáticamente
  72.             adaptador = new SimpleCursorAdapter(this, R.layout.tupla_cliente, cursor, campos, ids);
  73.             listviewclientes.setAdapter(adaptador);
  74.             listviewclientes.setOnItemClickListener(new OnItemClickListener() {
  75.                    
  76.                             public void onItemClick(AdapterView<?> parent, View view, int position,
  77.                                             long id) {
  78.                                     Intent editora = new Intent(ListaClientes.this, EditarCliente.class);
  79.                                     String idP = ""+id;
  80.                                     // Le añadimos al intent un extra con clave/valor llamado Id que contiene la id
  81.                                     editora.putExtra("Id", idP);
  82.                                     startActivityForResult(editora, 1);    
  83.                             }
  84.                    
  85.                     });
  86.            
  87.             // Ahora definimos el botón para añadir nuevos clientes
  88.             mas = (Button)findViewById(R.id.button1);
  89.             mas.setOnClickListener(new OnClickListener() {
  90.                            
  91.                             public void onClick(View v) {
  92.                                     Intent editora = new Intent(ListaClientes.this, EditarCliente.class);
  93.                                     // En este caso la id es -1 ya que no existe porque vamos a añadir un nuevo cliente
  94.                                     editora.putExtra("Id", "-1");
  95.                                     // En el siguiente starActivity, el 1 es para saber desde donde lo enviastes
  96.                                     startActivityForResult(editora, 1);                    
  97.                             }
  98.                     });
  99.         }
  100.        
  101.         // Aquí recogemos la respuesta de los intents lanzados cuando clicamos en el botón guardar o cancelar de la
  102.         // pantalla de edición (que nos vale para añadir o editar clientes)
  103.             protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  104.             String str="Aceptado";
  105.             if(requestCode==1){
  106.                     if(resultCode==RESULT_CANCELED)
  107.                             str="Cancelado";
  108.                     PintarActividad();
  109.                     Toast.makeText(this, str, Toast.LENGTH_LONG).show();}                  
  110.                     if(requestCode==2)
  111.                             PintarActividad();
  112.                     super.onActivityResult(requestCode, resultCode, data);
  113.             }
  114.     }
Advertisement
Add Comment
Please, Sign In to add comment