7 - EditarCarro |
Top Previous Next |
Tela
EditarCarro.java
package com.bancofull;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; import android.widget.ImageButton;
import com.bancofull.Carro.Carros;
// Activity que utiliza o TableLayout para editar o carro public class EditarCarro extends Activity { static final int RESULT_SALVAR = 1; static final int RESULT_EXCLUIR = 2;
// Campos texto private EditText campoNome; private EditText campoPlaca; private EditText campoAno; private Long id;
@Override protected void onCreate(Bundle icicle) { super.onCreate(icicle);
setContentView(R.layout.form_editar_carro);
campoNome = (EditText) findViewById(R.id.campoNome); campoPlaca = (EditText) findViewById(R.id.campoPlaca); campoAno = (EditText) findViewById(R.id.campoAno);
id = null;
Bundle extras = getIntent().getExtras();
// Se for para Editar, recuperar os valores ... if (extras != null) { id = extras.getLong(Carros._ID);
if (id != null) { // é uma edição, busca o carro... Carro c = buscarCarro(id); campoNome.setText(c.nome); campoPlaca.setText(c.placa); campoAno.setText(String.valueOf(c.ano)); } }
ImageButton btCancelar = (ImageButton) findViewById(R.id.btCancelar); btCancelar.setOnClickListener(new OnClickListener() { public void onClick(View view) { setResult(RESULT_CANCELED); // Fecha a tela finish(); } });
// Listener para salvar o carro ImageButton btSalvar = (ImageButton) findViewById(R.id.btSalvar); btSalvar.setOnClickListener(new OnClickListener() { public void onClick(View view) { salvar(); } });
ImageButton btExcluir = (ImageButton) findViewById(R.id.btExcluir);
if (id == null) { // Se id está nulo, não pode excluir btExcluir.setVisibility(View.INVISIBLE); } else { // Listener para excluir o carro btExcluir.setOnClickListener(new OnClickListener() { public void onClick(View view) { excluir(); } }); } }
@Override protected void onPause() { super.onPause(); // Cancela para não ficar nada na tela pendente setResult(RESULT_CANCELED);
// Fecha a tela finish(); }
public void salvar() {
int ano = 0; try { ano = Integer.parseInt(campoAno.getText().toString()); } catch (NumberFormatException e) { // ok neste exemplo, tratar isto em aplicações reais }
Carro carro = new Carro(); if (id != null) { // É uma atualização carro.id = id; } carro.nome = campoNome.getText().toString(); carro.placa = campoPlaca.getText().toString(); carro.ano = ano;
// Salvar salvarCarro(carro);
// OK setResult(RESULT_OK, new Intent());
// Fecha a tela finish(); }
public void excluir() { if (id != null) { excluirCarro(id); }
// OK setResult(RESULT_OK, new Intent());
// Fecha a tela finish(); }
// Buscar o carro pelo id protected Carro buscarCarro(long id) { return CadastroCarros.repositorio.buscarCarro(id); }
// Salvar o carro protected void salvarCarro(Carro carro) { CadastroCarros.repositorio.salvar(carro); }
// Excluir o carro protected void excluirCarro(long id) { CadastroCarros.repositorio.deletar(id); } }
form_editar_carro.xml
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="fill_parent" android:layout_width="fill_parent" android:background="#ffffff"> <TableRow> <TextView android:id="@+id/text1" android:text="Nome:" android:textColor="#000000" /> <EditText android:id="@+id/campoNome" android:width="240px" /> </TableRow> <TableRow> <TextView android:id="@+id/text2" android:text="Placa:" android:textColor="#000000" /> <EditText android:id="@+id/campoPlaca" /> </TableRow> <TableRow> <TextView android:id="@+id/text3" android:text="Ano:" android:textColor="#000000" /> <EditText android:id="@+id/campoAno" /> </TableRow> <LinearLayout android:layout_width="wrap_content" android:layout_height="fill_parent"> <ImageButton android:src="@drawable/cancelar" android:id="@+id/btCancelar" android:text="Cancelar" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageButton android:src="@drawable/salvar" android:id="@+id/btSalvar" android:text=" Salvar " android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageButton android:src="@drawable/excluir" android:id="@+id/btExcluir" android:text=" Excluir " android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> </TableLayout> |