Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Aula_Adapters_ListView.pdf

thiagocortat
February 02, 2017
24

 Aula_Adapters_ListView.pdf

thiagocortat

February 02, 2017
Tweet

Transcript

  1. Activities › OnCreate – Chamado quando a activity é criada.

    › onStart – Chamado após o onCreate, e antes da activity se tornar visível para o usuário. › onResume – Chamado após o onStart, quando a activity se torna visível para o usuário. › onPause - Chamado após o onResume, quando a activity está para perder a visibilidade para outra activity. › onStop – A activity não está mais visível para o usuário. › onDestroy – A activity está prestes a ser destruída.
  2. › LinearLayout - possui um atributo orientation que pode receber

    o valor vertical ou horizontal que indica que os elementos filhos devem ser agrupados na vertical ou horizontal. › RelativeLayout - é um layout que permite posicionar os elementos filhos de maneira relativa, um em relação ao outro. › FrameLayout - um tipo de layout bem simples, que permite adicionar apenas um elemento. Se adicionar mais elementos, eles irão ser desenhados sobre os outros, parcialmente ou totalmente. ViewGroups
  3. › TextView – usado para mostrar textos na tela. ›

    EditText – usado para que o usuário digite alguma entrada. › Button – usado para que o usuário execute ações através de cliques. › CheckBox – usado para que o usuário marque opções. › RadioButton – o mesmo que acima, mas permite marcar apenas uma opção. › ImageView – usado para mostrar imagens na tela. Views/Widgets
  4. › Melhor forma de exibir uma coleção de objetos ›

    É uma View que mostra uma lista de itens de rolagem. › Os itens são automaticamente inseridos à lista utilizando um Adapter que puxa o conteúdo de uma fonte, como um Array ou banco de dados › Converte cada item de conteúdo em uma View de que é colocado na lista. ListView <ListView />
  5. ListView <ListView /> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"

    android:orientation="vertical" > <ListView android:id="@+id/mylist" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> </LinearLayout>
  6. Adapter ›Os Adapters são usados para fornecer comunicação e dados

    para o ListView. ›Ele fornece Views filhas para cada linha ›O Adapter também define como cada linha da ListView é exibida. ›O Adapter é atribuída a ListView através do método setAdapter no objeto ListView.
  7. 10

  8. ›Um Adapter estende da classe BaseAdapter. ›Android fornece alguns adapters

    padrões, os mais importantes deles são o ArrayAdapter e SimpleCursorAdapter. Implementação do Adapter
  9. ›ArrayAdapter pode manipular dados com base arrays simples ou collections

    do tipo java.util.List. Utiliza um TextView para representar sua views filhas. ›SimpleCursorAdapter é utilizado para auxiliar com bancos de dados SQLite. Implementação do Adapter
  10. ListView – Uso simplificada › Coloque um elemento <ListView> com

    id no XML de layout › Crie um array de elementos do tipo String › Obtenha o objeto ListView usando findViewById(id) › Crie um ArrayAdapter passando o array de Strings › Adicione o ArrayAdapter ao ListView usando ListView.setAdapter(..)
  11. › O código seguinte mostra um exemplo de uso da

    classe ArrayAdapter e um esquema predefinido do sistema Android. › O exemplo supõe que o layout da Actvity contém um ListView com o ID mylist. Este exemplo usa um layout pré-definido de célula (android.R.layout.simple_list_item1) Exemplo ListView
  12. Listener › Para implementar a seleções na lista basta definir

    a interface OnItemClickListener à sua ListView. › Parâmetros de OnItemClickListener.onItemClick(...) › AdapterView <?> parent - referência para o ListView › View view - a View dentro de parent que foi clicada › int position - a posição da View no ArrayAdapter, i.e., o índice do array › int id - o id do elemento, neste caso será igual a position
  13. Aplicação de lista telefônica › Project Name: ListaTelefonica › Package

    Name : br.edu.infnet.android.applista › Create Activity: ContatosActivity › Application Name: Lista de contatos › Min SDK Version: 15
  14. Aplicação de lista telefônica › No arquivo contatos.xml, adicionaremos o

    elemento: <ListView android:id=“@+id/lista_contatos” android:layout_width="match_parent” android:layout_height=“match_parent" />
  15. BaseAdapter › O BaseAdapter trata-se de uma classe abstrata que

    possui os métodos necessários para exibição da lista na tela. › public int getCount() › Indica quantos itens temos para exibir na listagem. Com isso o Android calcula o tamanho inicial da Listview › public long getItemId(int posicao) › Retorna um identificador único para o item da lista. Ex: listaAlunos.get(posicao).getId()
  16. BaseAdapter › public Object getItem() › Retorna um item da

    lista de acordo com o posição. Ex: listaAlunos.get(posicao) › public View getView (int posicao, View convertView, ViewGroup parent) › Retorna um objeto do tipo View. › Representa a linha da ListView que será exibida na tela do device
  17. public class StateAdapter extends BaseAdapter { private LayoutInflater mInflater; private

    List<State> stateList; public StateAdapter(Context context, List<State> statelist){ mInflater = LayoutInflater.from(context); //responsavel por pegar o Layout do item. this.stateList = statelist; } @Override public int getCount() { return stateList.size(); } @Override public Object getItem(int position) { return stateList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { // Cria uma instância do layout XML para os objetos correspondentes na View View view = mInflater.inflate(R.layout.listview_states, null); State state = stateList.get(position); TextView textState = (TextView)view.findViewById(R.id.textState); textState.setText(state.getState()); ImageView img = (ImageView)view.findViewById(R.id.imageState); img.setImageResource(state.getBanner()); return view; } }
  18. <RelativeLayout android:layout_width="fill_parent" android:layout_height="wrap_content"> <ImageView android:id="@+id/image" android:layout_alignParentLeft="true" android:layout_height="50dip" android:layout_width="50dip" /> <TextView

    android:id="@+id/text" android:layout_toRightOf="@+id/image” android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="10dip”/> </RelativeLayout> Adapter Customizado