Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Mobile magazine
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Video: startActivityForResult: Retornando Parâmetros entre Activities - Curso Android SDK - Dominando a API - Parte 14
Nesta vídeo aula será mostrado como retornar parâmetros de uma Acitivity.
Tempo: 16:28 min
Mini resumo: Nesta vídeo aula será mostrado como retornar parâmetros de uma Acitivity. A ideia é que você possa acessar uma outra Activity, realizar alguma operação na mesma, e quando fechada retornar algum valor para sua Activity pai. Para isto, é necessário utilizar o método startActivityForResult. Além disso, será conhecido também o método setResult, muito importante neste contexto.
Tecnologias utilizadas: Eclipse, ADT, Android, Android SDK.
Exemplos construídos: Intent
Palavras-chave: Eclipse, ADT, Android, Android SDK, Emulador, Layout
Rafael Silva
Especialista há diversos anos em tecnologias de desenvolvimento como .net, PHP, Android, Delphi, MySQL, Java e front-end. Ministrou aulas e produziu diversos artigos, vídeos e cursos online sobre estas tecnologias.
O que você achou deste post?
12 COMENTÁRIOS
Eduardo Jose Bortolini
Boa noite,
primeiro parabéns pelas aulas,
Gostaria de saber como usuar uma startActivityForResult com
banco de dados e se realmente pode ser usada?
no meu caso me refiro a uma lista vinda do bando de dados.
abraço.
primeiro parabéns pelas aulas,
Gostaria de saber como usuar uma startActivityForResult com
banco de dados e se realmente pode ser usada?
no meu caso me refiro a uma lista vinda do bando de dados.
abraço.
[há +1 ano] -
Responder
Dyego Souza Do Carmo
Existe uma solucao que é o PowerSugar , ele acopla diretamente as activities !
[há +1 ano] -
Responder
Eduardo Jose Bortolini
Com mais de duas actives tanbem?
grato...
grato...
[há +1 ano] -
Responder
Dyego Souza Do Carmo
Sim , 1---N...
[há +1 ano] -
Responder
Eduardo Jose Bortolini
Boa noite amigos...
efetuei os testes com dados de uma lista vindo do banco de dados e o resultado que tive foi o nome do pacote,
ao inves do conteudo selecionado....
alguma dica!!!
abraços...
efetuei os testes com dados de uma lista vindo do banco de dados e o resultado que tive foi o nome do pacote,
ao inves do conteudo selecionado....
alguma dica!!!
abraços...
[há +1 ano] -
Responder
Dyego Souza Do Carmo
Poderia colar aqui o codigo para chamada que voce esta utilizando juntamente com o XML ?
Valeu !
Valeu !
[há +1 ano] -
Responder
Eduardo Jose Bortolini
ok, la vai.
public class VerClientes extends ListActivity {
public static ClienteDao clienteDao;
private List clienteprocessa;
public void onCreate(Bundle icicle){
super.onCreate(icicle);
clienteDao = new ClienteDao(this);
clienteprocessa = clienteDao.getAll();
setListAdapter(new ListarClienteAdapter(this, clienteprocessa));
}
public void onListItemClick(ListView l, View v, int posicao, long id){
setResult(RESULT_OK, new Intent().putExtra("dados", l.getAdapter().getItem(posicao).toString()));
finish();
}
}
Codigo da classe que recebe os dados:
btnVerCliente.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivityForResult(new Intent(getBaseContext(), Lista_Clientes.class), RETORNO_CLIENTE);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (RETORNO_CLIENTE == requestCode){
if (resultCode == RESULT_OK)
txtCliente.setText(data.getStringExtra("dados").toString());
}
}
}
Meu Adpter:
public class ListarClienteAdapter extends BaseAdapter {
private Context ctx;
private List lista;
public ListarClienteAdapter (Context ctx, List lista){
this.ctx = ctx;
this.lista = lista;
}
@Override
public int getCount() {
return lista.size();
}
@Override
public Object getItem(int position) {
return lista.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View view, ViewGroup viewgroup) {
ClienteVO vo = (ClienteVO)getItem(position);
LayoutInflater layout = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = layout.inflate(android.R.layout.simple_list_item_1, null);
TextView txtNome = (TextView)v.findViewById(android.R.id.text1);
txtNome.setText(vo.getNome());
return v;
}
}
public class VerClientes extends ListActivity {
public static ClienteDao clienteDao;
private List
public void onCreate(Bundle icicle){
super.onCreate(icicle);
clienteDao = new ClienteDao(this);
clienteprocessa = clienteDao.getAll();
setListAdapter(new ListarClienteAdapter(this, clienteprocessa));
}
public void onListItemClick(ListView l, View v, int posicao, long id){
setResult(RESULT_OK, new Intent().putExtra("dados", l.getAdapter().getItem(posicao).toString()));
finish();
}
}
Codigo da classe que recebe os dados:
btnVerCliente.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivityForResult(new Intent(getBaseContext(), Lista_Clientes.class), RETORNO_CLIENTE);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (RETORNO_CLIENTE == requestCode){
if (resultCode == RESULT_OK)
txtCliente.setText(data.getStringExtra("dados").toString());
}
}
}
Meu Adpter:
public class ListarClienteAdapter extends BaseAdapter {
private Context ctx;
private List
public ListarClienteAdapter (Context ctx, List
this.ctx = ctx;
this.lista = lista;
}
@Override
public int getCount() {
return lista.size();
}
@Override
public Object getItem(int position) {
return lista.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View view, ViewGroup viewgroup) {
ClienteVO vo = (ClienteVO)getItem(position);
LayoutInflater layout = (LayoutInflater)ctx.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View v = layout.inflate(android.R.layout.simple_list_item_1, null);
TextView txtNome = (TextView)v.findViewById(android.R.id.text1);
txtNome.setText(vo.getNome());
return v;
}
}
[há +1 ano] -
Responder
Dyego Souza Do Carmo
Qual a versao da plataforma vc esta usando ?
[há +1 ano] -
Responder
Eduardo Jose Bortolini
Android 2.2
abraços..
abraços..
[há +1 ano] -
Responder
Eduardo Jose Bortolini
e Eclipse Helios
[há +1 ano] -
Responder
Dyego Souza Do Carmo
Tem a imagem que esta aparecendo na tela ? prq esta parecendo tudo ok.
[há +1 ano] -
Responder
Wesley Yamazack
Olá Eduardo, estamos no aguardo para poder lhe ajudar, ok ?Poderia nos ajudar enviando a solicitação do Dyego ?
Um abraço
Um abraço
[há +1 ano] -
Responder
Cursos relacionados
Publicidade

download

