Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.basedatosprueba;
- import java.util.ArrayList;
- import android.content.Intent;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.os.Bundle;
- import android.support.v7.app.ActionBarActivity;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemClickListener;
- import android.widget.Button;
- import android.widget.ListView;
- import android.widget.SimpleCursorAdapter;
- import android.widget.Toast;
- public class ListaClientes extends ActionBarActivity {
- // ListView que mostrará los clientes
- ListView listviewclientes;
- // Clase que nos facilita los métodos para gestionar la Base de Datos
- SQLiteDatabase sql;
- // Adaptador Cursor para recorrer los diferentes campos
- SimpleCursorAdapter adaptador;
- // ArrayList de objetos Clientes
- ArrayList<Clientes> listaClientes;
- Button mas;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_lista_clientes);
- PintarActividad();
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.main, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
- if (id == R.id.action_settings) {
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- // Clase que repinta la actividad cada vez que la llamamos
- private void PintarActividad() {
- BaseDatos bd = new BaseDatos(this);
- sql = bd.getWritableDatabase();
- listviewclientes = (ListView)findViewById(R.id.listView1);
- Cursor cursor = sql.rawQuery("select * from clientes", null);
- String[] campos = {"Nombre", "Apellidos"};
- int[] ids = {R.id.nombre_cliente,R.id.apellidos_cliente};
- // Creamos el adaptador pasandole el cursor, el nombre de los campos e
- // identificadores que llenará automáticamente
- adaptador = new SimpleCursorAdapter(this, R.layout.tupla_cliente, cursor, campos, ids);
- listviewclientes.setAdapter(adaptador);
- listviewclientes.setOnItemClickListener(new OnItemClickListener() {
- public void onItemClick(AdapterView<?> parent, View view, int position,
- long id) {
- Intent editora = new Intent(ListaClientes.this, EditarCliente.class);
- String idP = ""+id;
- // Le añadimos al intent un extra con clave/valor llamado Id que contiene la id
- editora.putExtra("Id", idP);
- startActivityForResult(editora, 1);
- }
- });
- // Ahora definimos el botón para añadir nuevos clientes
- mas = (Button)findViewById(R.id.button1);
- mas.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- Intent editora = new Intent(ListaClientes.this, EditarCliente.class);
- // En este caso la id es -1 ya que no existe porque vamos a añadir un nuevo cliente
- editora.putExtra("Id", "-1");
- // En el siguiente starActivity, el 1 es para saber desde donde lo enviastes
- startActivityForResult(editora, 1);
- }
- });
- }
- // Aquí recogemos la respuesta de los intents lanzados cuando clicamos en el botón guardar o cancelar de la
- // pantalla de edición (que nos vale para añadir o editar clientes)
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- String str="Aceptado";
- if(requestCode==1){
- if(resultCode==RESULT_CANCELED)
- str="Cancelado";
- PintarActividad();
- Toast.makeText(this, str, Toast.LENGTH_LONG).show();}
- if(requestCode==2)
- PintarActividad();
- super.onActivityResult(requestCode, resultCode, data);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment