Utilizando BaseAdapter Para Personalização Completa da ListView

Receba em primeira mão o conteúdo exclusivo do Blog, além de promoções de livros e cursos de programação. Você receberá um email de confirmação. Somente depois de confirmar é que poderei lhe enviar o conteúdo exclusivo por email.

Email inválido.
Blog /Android /Utilizando BaseAdapter Para Personalização Completa da ListView

Utilizando BaseAdapter Para Personalização Completa da ListView

Vinícius Thiengo16/12/2013, Segunda-feira, às 20h
(7530) (48) (18) (1)

Opa! Blz?!

Esse vídeo é um pouci mais longo, porém acho que pode ser muito util se você está pensando em trabalhar com listas ou apenas aprender a mexer com listas em Android, alias considero esse o post mais importante se você quer mexer com listas. Nesse vídeo mostro como personalizar ainda mais uma ListView utilizando a herança da classe BaseAdapter em uma classe personalizada criada por nós.

Note que inevitavelmente entro no contexto da classe LayoutInflater, porém somente falarei mais afundo dessa classe em posts futuros, pois ela é um pouco mais avançada, mas se você já quiser ir se aprofundando nessa classe que é extremamente útil, pode acessar o link a seguir do próprio site de desenvolvedores do Android:

Classe LayoutInflater

Acho que é isso ae, vou deixar você assistir ao vídeo.

Classe BaseAdapter

O link para download do projeto se encontra logo abaixo no post.

Compartilhe, comente! Vlw.

Receba em primeira mão o conteúdo exclusivo do Blog, além de promoções de livros e cursos de programação.
Email inválido

Relacionado

Entendendo a Thread Principal de Uma APP AndroidEntendendo a Thread Principal de Uma APP AndroidAndroid
Entendendo e Utilizando ListActivity no AndroidEntendendo e Utilizando ListActivity no AndroidAndroid
ListView: Entendendo e Utilizando no AndroidListView: Entendendo e Utilizando no AndroidAndroid
SimpleAdapter no ListView, Entendendo e Utilizando no AndroidSimpleAdapter no ListView, Entendendo e Utilizando no AndroidAndroid

Compartilhar

Comentários Facebook (21)

Comentários Blog (27)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
25/09/2016, Domingo, às 22h
Fala Thiengo.
Cara.. muito bom o vídeo ( para variar...rs)
Consigo inflar a view sem problemas na listview, mas como faço pra setar o texto de um textview que está no mesmo layout do listview com valores do adapter? Uma soma dos Itens por exemplo...
Obrigado!
Responder
Vinícius Thiengo (0) (0)
26/09/2016, Segunda-feira, às 13h
Luciano, blz?
Tem várias maneiras de fazer isso. Uma simples é criar um método publico simples na Activity que se encontra o ListView.

Com o contexto passado ao adapter, aplique o cast:

SuaActivity suaActivity = (SuaActivity) context;

Depois acesse o método no getView(), por exemplo:

suaActivity.somaValue( valor );

Assim, em SuaActivity, vc pode utilizar uma variável de instância que será atualizada com a soma ao valor passado como argumento:

...
public void somaValue( TipoValue value ){
    this.value += value;
    seuTextView.setText( ""+this.value );
}
...

Veja se assim funciona. Abraço
Responder
Daniel Tibúrcio Silva Filho (1) (0)
14/06/2016, Terça-feira, às 19h
Consegui colocar a figura, mas ficou um espaço em branco à direita dos resultados
Responder
Vinícius Thiengo (0) (0)
18/06/2016, Sábado, às 21h
Daniel, respondido nos comentários do Facebook. Abraço
Responder
15/06/2015, Segunda-feira, às 19h
Thiengo, muito bons seus videos, parabéns!! estão me ajudando bastante em meu atual projeto.. Estou tentando implementar uma listview seguindo o exemplo do vídeo, mas não estou conseguindo faze-la exibir todos itens que foram passados pelo adapter.. somente uma linha está sendo exibida. Segue a parte onde o array é passado para o adapter:
JSONArray ja;

                                    ja = response.getJSONArray("atividades");
                                    ArrayList ativi = new ArrayList();
                                    for(int i = 0, tam = ja.length(); i < tam; i++) {
                                        Atividades atv = new Atividades();

                                        ordem = ja.getJSONObject(i).getString("ordem");
                                        nomeexercicios = ja.getJSONObject(i).getString("nomeexercicios");
                                        qtdserie = ja.getJSONObject(i).getString("qtdserie");
                                        numrepeticoes = ja.getJSONObject(i).getString("numrepeticoes");
                                        carga = ja.getJSONObject(i).getString("carga");
                                        nomeequipamentos = ja.getJSONObject(i).getString("nomeequipamentos");
                                        status_ativ = ja.getJSONObject(i).getString("status_ativ");

                                        atv.setOrdem(ordem);
                                        atv.setNomeexercicios(nomeexercicios);
                                        atv.setQtdserie(qtdserie);
                                        atv.setNumrepeticoes(numrepeticoes);
                                        atv.setCarga(carga);
                                        atv.setNomeequipamentos(nomeequipamentos);
                                        atv.setStatus_ativ(status_ativ);

                                        ativi.add(new Atividades(ordem,nomeexercicios,qtdserie,numrepeticoes,carga,nomeequipamentos,status_ativ));
                                    }
                                    ListView lv = (ListView) getView().findViewById(R.id.lvList);
                                    lv.setAdapter(new PernasAdapter(getActivity(), ativi));
No caso, os dados vem de um json e deste é passado para o array. getview do adapter:
@Override
    public View getView(int position, View convertView, ViewGroup parent) {

        Atividades atividades = lista.get(position);
        View layout;

        if(convertView == null){
            LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            layout = inflater.inflate(R.layout.row, null);
        }
        else{
            layout = convertView;
        }
            TextView ordem = (TextView) layout.findViewById(R.id.tvOrdem);
            TextView nomeexercicios = (TextView) layout.findViewById(R.id.tvExercicio);
            TextView qtdserie = (TextView) layout.findViewById(R.id.tvSerie);
            TextView numrepeticoes = (TextView) layout.findViewById(R.id.tvRepeticoes);
            TextView carga = (TextView) layout.findViewById(R.id.tvCarga);
            TextView nomeequipamentos = (TextView) layout.findViewById(R.id.tvEquipamentos);
            Button status_ativ = (Button) layout.findViewById(R.id.btStatus);

            ordem.setText(atividades.getOrdem());
            nomeexercicios.setText(atividades.getNomeexercicios());
            qtdserie.setText(atividades.getQtdserie());
            numrepeticoes.setText(atividades.getNumrepeticoes());
            carga.setText(atividades.getCarga());
            nomeequipamentos.setText(atividades.getNomeequipamentos());

            if (position % 2 == 0) {
                layout.setBackgroundColor(Color.LTGRAY);
            }

        return layout;
    }
Responder
Vinícius Thiengo (0) (0)
16/06/2015, Terça-feira, às 04h
Fala Renan, blz?
Verifique com o LogCat se sua lista, logo quando enviada ao adapter, tem mais do que apenas um elemento. Verifique tb se o ListView está com um android:layout_height que permite apresentar mais de uma linha, coloque um background vermelho no ListView que vc vai saber pelo tamanho do View tingido. Abraço
Responder
16/06/2015, Terça-feira, às 14h
Beleza!
Consegui! muito obrigado, Thiego. :D
O layout da ListView estava com uma altura que possibilitava apresentar apenas uma linha.
E mais uma vez, parabéns pelo trabalho, o conteúdo que você disponibiliza aqui é de excelente qualidade e ajuda bastante.
Responder
Andre Luiz (0) (0)
13/03/2015, Sexta-feira, às 02h
Olá Thiengo, tudo bem?
Me ajuda com uma coisa. Como consigo personalizar uma listview trabalhando com fragment ?
Estou querendo criar uma custom listview simples,com uma foto e duas textview,porém, minha activity tem de ser "extends Fragment ", se eu mudar essa linha pra "ListFragment" ou qualquer outra, dá erro na minha activity anterior.
Ps:essa listview sera implementada numa tab usando fragment.
Desde já obrigado.
Responder
Vinícius Thiengo (0) (0)
13/03/2015, Sexta-feira, às 09h
Fala Andre, blz?
Vc no caso faria a mesma coisa que fiz no vídeo dentro de uma Activity, porém vc faria isso dentro do método onCreateView() de seu fragment, se ainda não manja de fragment, dê uma olhada nesse vídeo (http://www.thiengo.com.br/fragments-no-android-trabalhando-com-multiplas-activities). Só uma observação, na verdade vc tem uma classe / fragment que extends Fragment. Para ser Activity ela teria um extends de Activity, ActivityActionBar, FragmentActivity, ... Dê uma olhada no vídeo de fragment e vê se consegue desenrolar. Outra coisa é utilizar o RecyclerView com um LayoutManager, ele é mt mais eficiente que o ListView e BaseAdapter, porém esse ainda não fiz vídeo sobre. Abraço
Responder
Andre Luiz (1) (0)
16/03/2015, Segunda-feira, às 04h
Opa Thiengo. Entao, obrigado pela ajuda, acho que agora falta pouco. Minha Fragment ficou assim agora:
 package com.oneapp.tiradentes;

import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

import java.util.ArrayList;

public class FragmentA extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View rootView = inflater.inflate(R.layout.activity_main4, container, false);


        ArrayList carros = new ArrayList();

        for(int i = 0; i < 5; i++){

            Carro carro = new Carro();
            carro.setModelo("Carro "+(i + 1));
            carro.setMarca("Marca "+(i + 1));

            carros.add(carro);
        }

        ListView lv = (ListView) getView().findViewById(R.id.lv);
        lv.setAdapter(new CarroAdapter(this, carros));

        return rootView;
    }
}
na linha :
        lv.setAdapter(new CarroAdapter(this, carros)); 
está apresentando um erro e nao consigo rodar a app. o que está faltando eu modificar ? Mais uma vez obrigado.
Responder
Vinícius Thiengo (0) (0)
16/03/2015, Segunda-feira, às 11h
André ao invés de utilizar new CarroAdapter(this, carros), coloque new CarroAdapter(getActivity(), carros), pois o contexto que vc está passando é o do Fragment quando o BaseAdapter está esperando pelo context da Activity. Abraço
Responder
Andre Luiz (1) (0)
16/03/2015, Segunda-feira, às 23h
Perfeito Vinícius. Projetinho sem erros, porém quando mandei rodar, ele trava quando chamo a Fragment em questao. Esse é o logcat:
03-16 22:01:12.870    1052-1052/com.oneapp.tiradentes E/AndroidRuntime? FATAL EXCEPTION: main
    Process: com.oneapp.tiradentes, PID: 1052
    java.lang.NullPointerException
            at com.oneapp.tiradentes.FragmentE.onCreateView(FragmentE.java:29)
            at android.support.v4.app.Fragment.performCreateView(Fragment.java:1786)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:947)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1126)
            at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)
            at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)
            at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:486)
            at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
            at android.support.v4.view.ViewPager.populate(ViewPager.java:1073)
            at android.support.v4.view.ViewPager.populate(ViewPager.java:919)
            at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1441)
            at android.view.View.measure(View.java:17331)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5376)
            at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
            at android.view.View.measure(View.java:17331)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5376)
            at android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:453)
            at android.view.View.measure(View.java:17331)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5376)
            at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
            at android.view.View.measure(View.java:17331)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5376)
            at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1410)
            at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
            at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
            at android.view.View.measure(View.java:17331)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5376)
            at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
            at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2548)
            at android.view.View.measure(View.java:17331)
            at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2279)
            at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1393)
            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1592)
            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1251)
            at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6540)
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:813)
            at android.view.Choreographer.doCallbacks(Choreographer.java:613)
            at android.view.Choreographer.doFrame(Choreographer.java:583)
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:799)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:146)
            at android.app.ActivityThread.main(ActivityThread.java:5593)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
            at dalvik.system.NativeStart.main(Native Method)
Será que ainda consegue me ajudar ?
Responder
Vinícius Thiengo (0) (0)
17/03/2015, Terça-feira, às 09h
André, aparentemente sua linha 29 em com.oneapp.tiradentes.FragmentE.onCreateView está com uma variável null que vc está tentando acessar como se fosse um objeto completo. O que há na linha 29 desse método desse fragment? Abraço
Responder
Andre Luiz (1) (0)
17/03/2015, Terça-feira, às 19h
Oi Thiengo, cara, desculpa te ocupar tanto, mas obrigado por estar me ajudando. Minha FragmentE é essa:

package com.oneapp.tiradentes;

import java.util.ArrayList;
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.text.util.Linkify;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

public class FragmentE extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View View = inflater.inflate(R.layout.activity_main4, container, false);


        ListView lista = (ListView) getView().findViewById(R.id.listadirectivos);
        //ListView lv = (ListView) getView().findViewById(R.id.lv);
        ArrayList arraydir = new ArrayList();
        //lista.setOnItemClickListener(chamaAtividades());
        Directivo directivo;


        // Introduzco los datos
        directivo = new Directivo(getResources().getDrawable(R.drawable.ambulance8), "Animed Pet Shop", "Atendimento veterinário...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.briefcase11), "Kamp Imóveis", "Entregue seu imóvel para...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.camera46), "Luziana Lanna Idiomas", "Pessoas diferentes precisam...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.earth17), "M. Helena Imóveis", "Vendas e Aluguéis de...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.fork9), "Paty Baby", "A loja especializada no...");
        arraydir.add(directivo);





        // Creo el adapter personalizado
        AdapterDirectivos adapter = new AdapterDirectivos(getActivity(), arraydir);


        // Lo aplico
        lista.setAdapter(adapter);


        return View;

    }



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

}

package com.oneapp.tiradentes;

import java.util.ArrayList;
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.text.util.Linkify;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

public class FragmentE extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View View = inflater.inflate(R.layout.activity_main4, container, false);


        ListView lista = (ListView) getView().findViewById(R.id.listadirectivos);
        //ListView lv = (ListView) getView().findViewById(R.id.lv);
        ArrayList arraydir = new ArrayList();
        //lista.setOnItemClickListener(chamaAtividades());
        Directivo directivo;


        // Introduzco los datos
        directivo = new Directivo(getResources().getDrawable(R.drawable.ambulance8), "Animed Pet Shop", "Atendimento veterinário...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.briefcase11), "Kamp Imóveis", "Entregue seu imóvel para...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.camera46), "Luziana Lanna Idiomas", "Pessoas diferentes precisam...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.earth17), "M. Helena Imóveis", "Vendas e Aluguéis de...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.fork9), "Paty Baby", "A loja especializada no...");
        arraydir.add(directivo);





        // Creo el adapter personalizado
        AdapterDirectivos adapter = new AdapterDirectivos(getActivity(), arraydir);


        // Lo aplico
        lista.setAdapter(adapter);


        return View;

    }



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

}
package com.oneapp.tiradentes;

import java.util.ArrayList;
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.text.util.Linkify;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

public class FragmentE extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View View = inflater.inflate(R.layout.activity_main4, container, false);


        ListView lista = (ListView) getView().findViewById(R.id.listadirectivos);
        //ListView lv = (ListView) getView().findViewById(R.id.lv);
        ArrayList arraydir = new ArrayList();
        //lista.setOnItemClickListener(chamaAtividades());
        Directivo directivo;


        // Introduzco los datos
        directivo = new Directivo(getResources().getDrawable(R.drawable.ambulance8), "Animed Pet Shop", "Atendimento veterinário...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.briefcase11), "Kamp Imóveis", "Entregue seu imóvel para...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.camera46), "Luziana Lanna Idiomas", "Pessoas diferentes precisam...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.earth17), "M. Helena Imóveis", "Vendas e Aluguéis de...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.fork9), "Paty Baby", "A loja especializada no...");
        arraydir.add(directivo);





        // Creo el adapter personalizado
        AdapterDirectivos adapter = new AdapterDirectivos(getActivity(), arraydir);


        // Lo aplico
        lista.setAdapter(adapter);


        return View;

    }



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

}
package com.oneapp.tiradentes;

import java.util.ArrayList;
import android.app.Activity;
import android.support.v4.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.text.util.Linkify;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

public class FragmentE extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View View = inflater.inflate(R.layout.activity_main4, container, false);


        ListView lista = (ListView) getView().findViewById(R.id.listadirectivos);
        //ListView lv = (ListView) getView().findViewById(R.id.lv);
        ArrayList arraydir = new ArrayList();
        //lista.setOnItemClickListener(chamaAtividades());
        Directivo directivo;


        // Introduzco los datos
        directivo = new Directivo(getResources().getDrawable(R.drawable.ambulance8), "Animed Pet Shop", "Atendimento veterinário...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.briefcase11), "Kamp Imóveis", "Entregue seu imóvel para...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.camera46), "Luziana Lanna Idiomas", "Pessoas diferentes precisam...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.earth17), "M. Helena Imóveis", "Vendas e Aluguéis de...");
        arraydir.add(directivo);
        directivo = new Directivo(getResources().getDrawable(R.drawable.fork9), "Paty Baby", "A loja especializada no...");
        arraydir.add(directivo);





        // Creo el adapter personalizado
        AdapterDirectivos adapter = new AdapterDirectivos(getActivity(), arraydir);


        // Lo aplico
        lista.setAdapter(adapter);


        return View;

    }



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

}

A linha 29 parece ser essa:
        ListView lista = (ListView) getView().findViewById(R.id.listadirectivos);

Abraço.
Responder
Vinícius Thiengo (0) (0)
18/03/2015, Quarta-feira, às 09h
André, ao invés de utilizar:

ListView lista = (ListView) getView().findViewById(...);

utilize:

ListView lista = (ListView) View.findViewById(...);

porém certifique-se de que a referencia R.id.listadirectivos existe no layoutR.layout.activity_main4. Faça isso para todos os acessos a views dentro de seus onCreateView() dos fragments. Depois veja se roda sem problemas. Abraço
Responder
Andre Luiz (1) (0)
19/03/2015, Quinta-feira, às 00h
Perfeito Thiengo, só queria agradecer mesmo, muito obrigado,funcionou perfeitamente. Se eu quiser arredondar as bordas dessa imagem da listview eu consigo com bootstrap ? Mudo via xml ou tenho que mecher no código?
Abraços Thiengo, muito obrigado.
Responder
Vinícius Thiengo (0) (0)
19/03/2015, Quinta-feira, às 09h
Andre, com o bootstrap provavelmente não, mas consegue realizar isso no xml mesmo como no link a seguir (http://stackoverflow.com/questions/9837145/how-to-make-a-rounded-corners-for-an-image-in-image-view-using-xml-layout-in-and). Com o Picasso Lib e o Makeramen RoundedImageView Lib vc tem mais poder de fogo para deixar a imagem redonda mesmo. Abraço
Responder
Andre Luiz (1) (0)
19/03/2015, Quinta-feira, às 21h
Valew Thiengo, sucesso pra voce. Me ajudou muito, consegui agora dar continuidade no meu projeto. Um grande abraco amigo e muito obrigado.
Responder
01/02/2015, Domingo, às 22h
Ol? Thiengo, precisava de uma ajuda. Como posso alimentar um listview quando clicar em um bot?o? A l?gica que estou usando ? quando clico no bot?o abre Dialog os dados do listview.  implementei como base esse seu exemplo mas n?o obtive sucesso dessa forma.
Responder
Vinícius Thiengo (0) (0)
02/02/2015, Segunda-feira, às 09h
Fala Luis, blz?
Fiquei na dúvida, vc quer colocar mais dados no ListView ou quer apresentar os detalhes do item do ListView que foi clicado? Para apresentar os detalhes vc está em um caminho certo (mostrar no Dialog), mas há outras maneiras tb (como mostrar em outra Activity, por exemplo). De todas as maneiras de apresentar dados, vc pode passar ou via Intent, nesse caso sua classe de itens teria de implementar um Parcelable (tb, apenas mais uma maneira) ou passando pelo construotr, no caso do Dialog, por exemplo. Se a questão é alimentar o ListView, os dados viriam de onde? Imaginando que o usuário colocaria mais itens por um form que seria aberto via Dialog, coloque um botão de finalizar cadastro do Item e então utilizei o EventBus para informar ao ListView que há mais dados, então coloque esse novo item na lista que preenche o listView e chame o notifuDataSetChanged() do adapter que está vinculado ao listView para atualizar o ListView. Abraço
Responder
02/02/2015, Segunda-feira, às 10h
Seria ao clicar em um botao
- Ira abrir um Dialog e dentro dele tera o listview com os dados do sqllite, pois nao quero usar o Intent prefiro que fica na main Activity.

Dêu pra entender ?
Responder
02/02/2015, Segunda-feira, às 11h
Para simplificar, clico no botão "LISTAR" abre o Dialog e com os dados carregados do sqllite no listview.
Dêu pra entender ?
Responder
Vinícius Thiengo (0) (0)
03/02/2015, Terça-feira, às 09h
Luis, acho que entendi. Seu Dialog tem um construtor? Se não tiver crie um que receberá a lista que preencherá o listView, assim vc terá uma várivel dentro do Dialog que está referenciando a mesma list que está no Activity, se fizer alguma alteração nela dentro do Dialog essa alteração será na mesma lista que está no Activity tb. Isso? Abraço
Responder
03/02/2015, Terça-feira, às 09h
Obrigado. Vou corrigir o código.
Responder
02/08/2014, Sábado, às 15h
Muito Obrigado, valeu mesmo.
Como disse o colega acima, vai direto ao ponto e um codigo limpo. Parabens!
Responder
Wagner (2) (0)
01/04/2014, Terça-feira, às 14h
Valeu amigo, farei uns testes disso aí, mas a explicação tá muito boa e vc não enrola. Show de bola
Responder
Vinícius Thiengo (1) (0)
01/04/2014, Terça-feira, às 18h
Vlw Wagner, abraço
Responder