Android - Exemplo de ListView
De Aulas
Revisão de 19h47min de 9 de maio de 2018 por Admin (discussão | contribs) (→Classe Principal - MainActivity)
Links relacionados: Programação para Dispositivos Móveis
Interface e Elemento ListView
- Crie um novo projeto do tipo Empty Activity.
- Retirar o TextView do Hello World.
- Insirir um ListView no activity_main.xml:
1<?xml version="1.0" encoding="utf-8"?>
2<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:app="http://schemas.android.com/apk/res-auto"
4 xmlns:tools="http://schemas.android.com/tools"
5 android:layout_width="match_parent"
6 android:layout_height="match_parent"
7 tools:context=".MainActivity">
8
9 <ListView
10 android:id="@+id/listView"
11 android:layout_width="368dp"
12 android:layout_height="495dp"
13 android:layout_marginBottom="8dp"
14 android:layout_marginEnd="8dp"
15 android:layout_marginStart="8dp"
16 android:layout_marginTop="8dp"
17 app:layout_constraintBottom_toBottomOf="parent"
18 app:layout_constraintEnd_toEndOf="parent"
19 app:layout_constraintStart_toStartOf="parent"
20 app:layout_constraintTop_toTopOf="parent" />
21</android.support.constraint.ConstraintLayout>
- Adicione a string title_dialog em res/values/strings.xml:
1<resources>
2 <string name="app_name">My List View</string>
3 <string name="title_dialog">Alert!</string>
4 <string name="button_ok">OK</string>
5 <string name="dialog_message">You selected %1$s on position %2$d.</string>
6</resources>
Classe Principal - MainActivity
- Altere a classe MainActivity.java:
1package com.example.saulo.mylistview;
2
3import android.os.Bundle;
4import android.support.v7.app.AlertDialog;
5import android.support.v7.app.AppCompatActivity;
6import android.view.View;
7import android.widget.AdapterView;
8import android.widget.ArrayAdapter;
9import android.widget.ListView;
10
11import java.util.ArrayList;
12import java.util.Arrays;
13
14public class MainActivity extends AppCompatActivity {
15
16 @Override
17 protected void onCreate(Bundle savedInstanceState) {
18 super.onCreate(savedInstanceState);
19 setContentView(R.layout.activity_main);
20
21 ListView listView = findViewById(R.id.listView);
22 String[] values = new String[]{"Android", "iPhone", "WindowsMobile",
23 "Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
24 "Linux", "OS/2", "Ubuntu", "Windows7", "Max OS X", "Linux",
25 "OS/2", "Ubuntu", "Windows7", "Max OS X", "Linux", "OS/2",
26 "Android", "iPhone", "WindowsMobile"};
27 ArrayList<String> list = new ArrayList<>(Arrays.asList(values));
28 ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
29 android.R.layout.simple_list_item_1, list);
30 listView.setAdapter(adapter);
31 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
32 @Override
33 public void onItemClick(AdapterView<?> parent, View view,
34 int position, long id) {
35 dialog(getString(R.string.title_dialog),
36 getString(R.string.dialog_message,
37 parent.getItemAtPosition(position), position));
38 }
39 });
40 }
41
42 public void dialog(String title, String content) {
43 AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
44 builder.setTitle(title);
45 builder.setMessage(content);
46 builder.setNeutralButton(getString(R.string.button_ok), null);
47 builder.show();
48 }
49}
- Execute o aplicativo.
Atividades
Crie uma Activity com um EditText, um Button e uma listView. O comportamento do aplicativo deve ser o seguinte:
- A ListView inicia vazia.
- Quando o botão for pressionado, o texto que está no EditText é adicionado à ListView.
- Quando você clica em um item da ListView, mostra uma mensagem na tela com o valor do item selecionado.
- Quando você segurar o dedo pressionado em cima de algum item da ListView, virá uma mensagem na tela perguntando se você quer apagar o item. Caso você clicar em OK, o item será excluído da ListView, caso você clicar em Cancel, o item não será excluído.