Ver mensagens sem resposta | Ver tópicos ativos Hoje é 15 Dez 2019, 11:28



Este tópico está trancado, você não pode editar mensagens ou enviar respostas.  [ 6 Mensagens ] 
 [RESOLVIDO] ListView não mostra dados 
Autor Mensagem
What is Android?
What is Android?
Avatar de usuário

Data de registro: 28 Ago 2013, 09:35
Mensagens: 5
Localização: Formosa-Go
Mensagem [RESOLVIDO] ListView não mostra dados
Olá a todos, programo em Delphi/Pascal/Firebird há mais de 10 anos. recentemente estou me aventurando na plataforma Java/Android e confesso que não sei muita coisa de Delphi, imagine de Java/Android!!!
Pois bem, a minha dúvida é a seguinte:
Através de um servidor Datasnap/Rest que desenvolvi, obtenho dados de uma tabela onde retorno telefone e nome do cliente numa ListView. Funciona perfeitamente.
Tenho dois botoes na minha aplicação Android: 1- atualizar dados que faz a tarefa acima descriminada e,
tenho o segundo botão que chama outra tela onde esta, só tem um botão: Voltar à tela anterior.
Problema: Clico no botão "atualizar" na primeira tela, o ListView carrega o nome e o telefone dos clientes, depois clico no botão "segunda tela" onde o proprio nome sugere. Ok, clico nesta segunda tela, no botão "voltar" e... voilá! volto à tela principal, mas ai vem o meu caso: A ListView DESAPARECEU! ou seja, não vejo mais os dados retornados na ListView.
Gostaria de apenas "voltar à tela anterior" sem precisar chamar o método que conecta à base de dados e retorna os dados, pois imagino eu, já foram carregados e não teria necessidade de novamente conectar para tal ação.
Obrigado à todos e espero num futuro próximo estar ajudando alguém da lista.


Editado pela última vez por Dataprime em 05 Set 2013, 08:40, no total de 2 vez



04 Set 2013, 14:03
Perfil YIM
Google employee
Google employee

Data de registro: 28 Jun 2012, 19:13
Mensagens: 1308
Localização: Itaperuna-RJ
Mensagem Re: ListView não mostra dados
Posta o código ae para a gente ver melhor. abraço!

_________________
Powell


04 Set 2013, 14:19
Perfil
What is Android?
What is Android?
Avatar de usuário

Data de registro: 28 Ago 2013, 09:35
Mensagens: 5
Localização: Formosa-Go
Mensagem Re: ListView não mostra dados
entao tá...
package com.dataprime.faturviagens;

import com.dataprime.faturviagens.MnuPrinc;
import java.util.ArrayList;
import java.util.HashMap;

import com.embarcadero.javaandroid.DSRESTConnection;
import com.embarcadero.javaandroid.DSProxy.TServerMethods1;
import com.embarcadero.javaandroid.TDataSet;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
import android.os.Handler;

public class MainActivity extends Activity {

    Button btnPesquisar, btnPesq;
    ListView lstUF;

    private ProgressDialog dialog;

    private Handler handler = new Handler();

    private ArrayList<HashMap<String, String>> list = new ArrayList<HashMap<String, String>>();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //botao que acessa os dados no servidor
        btnPesquisar = (Button) findViewById(R.id.btnAtualizar);
        //bota que apenas vai pra outra tela
        btnPesq = (Button) findViewById(R.id.btnPesq);
        // a ListView
        lstUF = (ListView) findViewById(R.id.lstUF);

        btnPesquisar.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                Pesquisar();

            }
        });

        btnPesq.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // tela 2
                startActivity(new Intent(MainActivity.this, MnuPrinc.class));
                AtualizaTela();
            }
        });
    }

    public void Pesquisar() {
        list.clear();
        dialog = ProgressDialog.show(MainActivity.this, "Aguarde...",
                "Coletando dados...");

        new Thread() {
            @Override
            public void run() {
                DSRESTConnection conn = getConnection();
                TServerMethods1 serv = new TServerMethods1(conn);

                TDataSet Ds;

                try {
                    Ds = serv.GetDados();
                    while (Ds.next()) {
                        HashMap<String, String> item = new HashMap<String, String>();
                        item.put("Fone", Ds.getValue("CLICEL").GetAsString());
                        item.put("Cliente", Ds.getValue("CLINOME")
                                .GetAsString());
                        list.add(item);
                    }
                    FinalizaDialogo(false, "");
                }

                catch (Exception e) {
                    FinalizaDialogo(true,
                            "Erro: Não foi possível acessar o servidor ");
                }
            }

        }.start();
    }

    private DSRESTConnection getConnection() {
        DSRESTConnection conn = new DSRESTConnection();
        conn.setHost("10.1.1.50");
        conn.setPort(8080);
        return conn;
    }

    private void FinalizaDialogo(final boolean TemErro, final String msg) {
        handler.post(new Runnable() {
            public void run() {
                if (TemErro)
                    Toast.makeText(MainActivity.this, msg, Toast.LENGTH_LONG)
                            .show();
                else
                    AtualizaTela();
                dialog.dismiss();
            }
        });
    }

    public void AtualizaTela() {
        String[] from = new String[] { "Cliente", "Fone" };
        int[] to = new int[] { android.R.id.text1, android.R.id.text2 };
        int layoutnativo = android.R.layout.two_line_list_item;
        lstUF.setAdapter(new SimpleAdapter(this, list, layoutnativo, from, to));
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

 


na segunda tela...
package com.dataprime.faturviagens;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MnuPrinc extends Activity {

    Button btVoltar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_mnu_princ);
        btVoltar = (Button) findViewById(R.id.btVoltar);

        btVoltar.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // menu principal
                startActivity(new Intent(MnuPrinc.this, MainActivity.class));
                finish();
            }
        });
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.mnu_princ, menu);
        return true;
    }

}
 


04 Set 2013, 14:32
Perfil YIM
Google employee
Google employee

Data de registro: 28 Jun 2012, 19:13
Mensagens: 1308
Localização: Itaperuna-RJ
Mensagem Re: ListView não mostra dados
Retira
startActivity(new Intent(MnuPrinc.this, MainActivity.class));
da segunda tela... do botão voltar :D Tentae

_________________
Powell


04 Set 2013, 14:57
Perfil
What is Android?
What is Android?
Avatar de usuário

Data de registro: 28 Ago 2013, 09:35
Mensagens: 5
Localização: Formosa-Go
Mensagem Re: ListView não mostra dados
Obrigado raphaelframos, deu certo aqui!
Agora só preciso descobrir uma maneira de acessar de fora da minha rede local. Estou aqui tentando com as ferramentas:
Delphi > Datasnap Rest...OK
Android > OK
IP dinâmico > no-ip > Dsl 500b > Wireless Dir600 > servidor...na luta!!


05 Set 2013, 08:36
Perfil YIM
Google employee
Google employee

Data de registro: 28 Jun 2012, 19:13
Mensagens: 1308
Localização: Itaperuna-RJ
Mensagem Re: [RESOLVIDO] ListView não mostra dados
Vai ter que criar outro tópico e explicar melhor :D Alguém pode te ajudar.

_________________
Powell


05 Set 2013, 10:50
Perfil
Mostrar mensagens anteriores:  Organizar por  
Este tópico está trancado, você não pode editar mensagens ou enviar respostas.   [ 6 Mensagens ] 

Quem está online

Usuários vendo este fórum: adautox, alansousa, Alex Marcelo Burnett, alex.abrantes, alfredo_ej, allart, alsimoes, Analista, andi, ANDRE FELIX DE ASSIS, Arthas, azero, billsombrio, btminzon, carlosavasconcelos, cassiano, cassianotartari, cleberkct, cleiton_maciel, Corneta, Cynthia, czambroni, dariosena, Darth Maul, debal, Demerval, dfreitas, Diego, dmd, dnakamashi, DroidBot, edson dias de gusmao, eluttner, epsilva, Erik Patekoski, erikopa, erissi, Felipe, felipe.cintra, fernandofsf, flaviolemos, fraga, gapler, geco, gutem25, gutodias, hbarroco, Henrique Ferraz, ijsilvestre, ismaels, jacksonst, jairom, jaydson, jlucasps, johnnyjx, juliano, Juninhooooo, juniorsk8, kleberperea, lalaine, lazarodm, leanderdulac, lfalcao, lfirpo, Lindberg, lucastgomes, Luna, MarceloMC, marcosandreao, marcosf63, Marlus Dias Silva, Mayron Cimardi, MBetioli, mikasjau, mrkensley, msmdark, nq6, onaiggac, otium, paint-horse, Patricia, pedro, piantino, Princesa Léia Organa, pyrobit, rafael.cioban, rguadagnini, Roney dos Santos, SEO Crawler, Thiago, thiagotomais, Thitto, tiagocomerio, Toks, tonholis, tonylock, VIEIRIX, vilmartr, xGambit, YaCy, Yoda, yuri82, zorieuq e 10 visitantes


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi