Alguém pode explicar ou sugerir um tutorial para criar um listView no android?
Aqui estão os meus requisitos:
- Eu deveria poder adicionar novos elementos dinamicamente pressionando um botão.
- Deve ser simples o suficiente para entender (possivelmente sem nenhuma melhoria de desempenho ou vista de conversão, por exemplo)
Eu sei que existem algumas perguntas sobre esse tópico, postadas aqui no StackOverflow, mas não consegui encontrar nenhuma que respondesse à minha pergunta. Obrigado!
Respostas:
Crie um layout XML primeiro na
res/layout/main.xml
pasta do seu projeto :Este é um layout simples, com um botão na parte superior e uma exibição de lista na parte inferior. Observe que o
ListView
tem o ID@android:id/list
que define o padrão queListView
umListActivity
pode usar.android.R.layout.simple_list_item_1
é o layout de item de lista padrão fornecido pelo Android e você pode usar esse layout de estoque para coisas não complexas.listItems
é uma lista que contém os dados mostrados no ListView. Toda a inserção e remoção deve ser feitalistItems
; as alteraçõeslistItems
devem ser refletidas na exibição. Isso é tratado porArrayAdapter<String> adapter
, que deve ser notificado usando:adapter.notifyDataSetChanged();
Um adaptador é instanciado com 3 parâmetros: o contexto, que poderia ser seu
activity/listactivity
; o layout do seu item de lista individual; e, finalmente, a lista, que são os dados reais a serem exibidos na lista.fonte
ListActivity is an activity that includes a ListView as its only layout element by default. [...] (it) hosts a ListView object
. Portanto, por padrão, os métodos (como setAdapter , etc) estão "dentro" da Classe.ao invés de
você pode ligar diretamente
fonte
Primeiro, você precisa adicionar um ListView, um EditText e um botão no seu activity_main.xml.
Agora, no seu ActivityMain:
Isso funciona para mim, espero ter ajudado você
fonte
Se você deseja ter o ListView em um AppCompatActivity em vez de ListActivity, faça o seguinte (Modificando a resposta de @ Shardul):
E no seu layout, em vez de usar,
android:id="@android:id/list"
você pode usarandroid:id="@+id/listDemo"
Então agora você pode ter um
ListView
interior normalAppCompatActivity
.fonte
Código para o arquivo MainActivity.java.
Código para o arquivo de layout activity_main.xml.
ScreenShot
fonte
A resposta curta: quando você cria um ListView, passa uma referência aos dados. Agora, sempre que esses dados forem alterados, eles afetarão a exibição da lista e, portanto, adicionarão o item a ele, depois que você ligar para adapter.notifyDataSetChanged () ;.
Se você estiver usando um RecyclerView, atualize apenas o último elemento (se você o adicionou no final da lista de objs) para economizar memória com: mAdapter.notifyItemInserted (mItems.size () - 1);
fonte
Esta é a resposta simples de como adicionar dados dinamicamente no listview android kotlin
Aqui, acabei de explicar duas maneiras, podemos fazer isso de várias maneiras.
fonte