quarta-feira, 13 de agosto de 2014

Criando uma ListView simples no Android













A maioria dos aplicativos Android possuem algum tipo de lista.
Você sabe como elas funcionam ? Confira nesse artigo.


Criando o projeto

Crie um Android Application Project.
Chamamos nosso projeto de ExemploListView.

















Criando o layout


Insira um ListView no seu layout e deixe as propriedades de width e height como match_parent.
Colocamos um azul de fundo, você pode escolher qualquer uma. :)






















Veja como ficou o xml da tela...


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <ListView
        android:id="@+id/listView1"
        android:background="#0000fe"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </ListView>

</RelativeLayout>




Populando a lista


Faça a implementação conforme demonstrado abaixo.


package com.example.exemplolistview;

import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.app.Activity;

public class MainActivity extends Activity {
private ListView lstItems;
private List<String> items;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
items = new ArrayList<String>();
items.add("Item 1");
items.add("Item 2");
items.add("Item 3");
lstItems = (ListView) findViewById(R.id.listView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(), 
                                               android.R.layout.simple_list_item_1, 
                                               items);
lstItems.setAdapter(adapter);
lstItems.setOnItemClickListener(OnListClick());
}
private AdapterView.OnItemClickListener OnListClick() {
return new AdapterView.OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View view, int pos, long id) {
Toast.makeText(getApplicationContext(), items.get(pos), Toast.LENGTH_LONG).show();
}
};
}

}




Ou para simplificar a visualização...


















































Como funciona


Criamos uma lista de strings, que são os items que aparecerão na ListView.
Dessa vez não usamos o componente Android Query e carregamos a ListView via findViewById.
Criamos um array adapter, que carrega um layout padrão de lista e a lista de itens.
Definimos o adapter na ListView e o click listener.
Ao pressionar um item da lista, obtemos a posição dele na lista de strings e exibimos na tela.
No próximo artigo sobre ListView vamos falar de recycle e customização.
Até lá ! :)