Tenho uma lista com os dados carregados do banco. Ao clicar no nome, abre a Tela de Cadastro Clientes para Alterar ou Excluir, ok? Como fazer para chamar outra Tela no caso Cadastro Veículos para não ter fazer outra tela?
No código abaixo, chama a Tela Cadastro Clientes, para alterar ou excluir.
// Clicar em item da lista e mostra nos campos da tela de cadastro@OverrideprotectedvoidonListItemClick(ListViewl,Viewv,intposition,longid){super.onListItemClick(l,v,position,id);Intentintent=newIntent(Lista.this,CadastrarCliente.class);intent.putExtra(DbAdapter.KEY_IDCLI,id);startActivityForResult(intent,1);}
Tem como fazer chamar outra a Tela Cadastro Veiculo? Obrigado.
Você vai ter um botão na tela de cadastro de clientes para abrir cadastro de veículos?
Ou vai ser uma opção a mais na lista de clientes? Tipo, ele pressionar e ter a opção de ir para cadastro de clientes ou veículos.
F
fbrigatt
Quero escolher a tela. Na mosca. Lembrando que é uma ListActivity. Como fazer?
W
wagnerfrancisco
Para isso você pode usar o menu de contexto. Assim, quando o usuário “clicar” no registro e segurar por um tempo, vai aparecer as opções.
Se você ver no link da documentação que lhe passei, há 3 etapas. Registrar o menu, adicionar as opções ao menu e executar as ações quando o usuário clicar no botão selecionado.
F
fbrigatt
Então, to usando o método:
// Clicar em item da lista e mostra nos campos da tela de cadastro @OverrideprotectedvoidonListItemClick(ListViewl,Viewv,intposition,longid){super.onListItemClick(l,v,position,id);Intentintent=newIntent(Lista.this,CadastrarCliente.class);intent.putExtra(DbAdapter.KEY_IDCLI,id);startActivityForResult(intent,1);}
Tenho que criar uma pasta menu, certo? Passa de novo o link, por favor?
publicclassCadastrarCarroextendsActivity{// Início da Classe CadastrarClienteprivatelongmId;privateEditTextNome,Placa,Modelo;privateTextViewIdNome;privateImageButtonsalvar,pesquisar,limpar,voltar;privateDbAdaptermDb;@OverrideprotectedvoidonCreate(Bundleicicle){// Início do método onCreatesuper.onCreate(icicle);setContentView(R.layout.cad_carros);mDb=newDbAdapter(this);mId=getIntent().getLongExtra(DbAdapter.KEY_IDCLI,0);Log.d("CarrosCliente","mId: "+mId);//aqui IdNome=(TextView)findViewById(R.id.IdNome);Nome=(EditText)findViewById(R.id.edtNome);Placa=(EditText)findViewById(R.id.edtPlaca);Modelo=(EditText)findViewById(R.id.edtModelo);mDb.open();Cursorcliente=mDb.getCliente(mId);if(mId>0&&cliente.moveToFirst()){IdNome.setText(cliente.getString(cliente.getColumnIndex(DbAdapter.KEY_IDCLI)));Log.d("CarrosCliente","mId: "+mId);// e aqui Nome.setText(cliente.getString(cliente.getColumnIndex(DbAdapter.KEY_NOME)));}// Código do botão Salvar da Tela de Cadastro de Clientessalvar=(ImageButton)findViewById(R.id.btSalvar);salvar.setOnClickListener(newOnClickListener(){@OverridepublicvoidonClick(Viewv){// int idclienteInteger = Integer.parseInt(IdNome.getText().toString());StringplacaString=Placa.getText().toString();StringmodeloString=Modelo.getText().toString();StringidclienteString=IdNome.getText().toString();mDb.open();if(Nome.getText().toString().equals("")||Placa.getText().toString().equals("")){mensagemExibir("Erro ao Salvar","Nome OU Placa em branco, verifique!");return;}mDb.gravarCarroCliente(modeloString,placaString,idclienteString);mensagemExibir("Salvar","Veículo cadastrado com sucesso!");mDb.close();}});// Código do botão Cancelar da Tela de Cadastro de Clientespesquisar=(ImageButton)findViewById(R.id.btPesquisar);pesquisar.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){mDb.open();if(Nome.getText().toString().equals("")){mensagemExibir("Erro ao Pesquisar","Dados em branco, verifique!");return;}StringnomeString=Nome.getText().toString();Cursorcliente=mDb.getClientePorNome(nomeString);while(cliente.moveToNext()){IdNome.setText(" "+cliente.getString(cliente.getColumnIndex("_id")));Nome.setText(cliente.getString(cliente.getColumnIndex("nome")));}mDb.close();}});limpar=(ImageButton)findViewById(R.id.btLimpar);limpar.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Nome.setText("");}});// Código do botão Cancelar da Tela de Cadastro de Clientesvoltar=(ImageButton)findViewById(R.id.btVoltar);// Início do setOnClickListener. Volta para a Tela Principalvoltar.setOnClickListener(newOnClickListener(){publicvoidonClick(Viewview){setResult(RESULT_CANCELED);// Fecha a telafinish();}});// Fim do setOnClickListener}// Fim do método onCreatepublicvoidmensagemExibir(Stringtitulo,Stringtexto){AlertDialog.Buildermensagem=newAlertDialog.Builder(CadastrarCarro.this);mensagem.setTitle(titulo);mensagem.setMessage(texto);mensagem.setNeutralButton("Ok",null);mensagem.show();}}// Fim da Classe CadastrarCarro
F
fbrigatt
Wagner, na classe CadastrarCarro tem esse trecho recupera o id, certo? No logCat, o mId tá vindo 0:
Eu tenho uma dúvida. Quero fazer uma consulta agora por nome de cliente e mostrar os carros do mesmo. Já tenho a tela com a lista. Tem como aproveitar a tela mudando somente a sql?
W
wagnerfrancisco
Sim, você pode fazer uma consulta que retorne em outro cursor e utilizá-lo no adapter:
Está especificando que vai usar o layout android.R.layout.two_line_list_item. Você pode criar outro do jeito que você quiser. Abra este layout do Android no eclipse para ver como é e posteriormente crie o seu com base nele.
F
fbrigatt
Dá pra fazer tres linhas usando esse exemplo? Não to conseguindo fazer… Dá pra criar mais uma linha no listview usando o android.R.layout, do jeito que está? Como fazer se caso não der?
Tenho que criar um novo xml ou posso aproveitar a lista que ja está lá? Estou usando ListActivity.
Pode criar um layout padrão com alguns TextView e mostrar os campos de acordo com a consulta? Exemplo:
05 TextViews no layout e a consulta retorna 03 campos, vai dar erro se fizer assim?
C
CorreaThiago
Cara estou com o mesmo problema quando clico na minha View da erro. Segue meu código.
O mais estranho é que quando eu troco o código > ViagemActivity.class por LoginActivity.class funciona normalmente. o cliente é direcionado para a página. Por favor, poderiam me dar uma Luz?
Pessoal, caso seja um erro grotesto(idiota) desculpem, pois sou novo em android e estou estudando ainda.
Olá pessoal sou iniciante em programação Android, e estou com uma dificuldade em CheckBoxs e nova tela(fragmento).
Resumidamente, tenho uma tela(Fragmento) [chamaremos de Tela1] com varios Checkboxs são como se fosse “categorias” de algo, e ao selecionar elas e depois clicar no botão Avançar deve abrir a Tela2 onde deve conter as “subcategorias” de cada uma das categorias selecionadas na Tela1 e tbm tem que ser em formato de Checkboxs.
Como faço pra criar estas Telas (Fragmentos) que interagem (avançando e voltando)?
E como faço para a informações (subcategorias) do meus checkboxs selecionados na Tela1 apareçam na Tela2 em formato de novos checkboxs?
P.S.: lembrando que posso selecionar de um à varios checkboxs, que são as categorias [na Tela1], e cada um delas tem de 1 à varios subcategorias que irão aparecer na segunda tela [Tela2] (somente as das categorias selecionadas) como checkboxs.