|
Página 1 de 1
|
[ 1 Mensagem ] |
|
Ajuda: Spinner Filtrar ListView
Autor |
Mensagem |
FilipeON
What is Android?
Data de registro: 15 Fev 2020, 14:43 Mensagens: 1
|
 Ajuda: Spinner Filtrar ListView
Olá Sou novo no universo Android. Atualmente estou estudando Spinner e ListView. Pesquisando me deparei com uma vídeo aula no YouTube onde o professor ensina a filtrar ListView usando Spinner. Como que eu faço para as informações serem exibidas num ListView personaliada? (Obs.: Já aprendi a personalizar) Sei que é preciso criar um Layout eu criei ele com nome de linha, mas como não funciona não postarei o código dele. Aproveitando a oportunidade, nesse mesmo codigo é possivel usar dois Spinner para filtrar? Caso seja pode me da um exemplo? Segue código do ListView e Spinner: ACTIVITY_MAIN:<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="info.camposha.listviewdropdownspinner.MainActivity">
<TextView android:id="@+id/headerLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:fontFamily="casual" android:textAllCaps="true" android:textSize="24sp" android:textStyle="bold" />
<Spinner android:id="@+id/mySpinner" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="5dp" android:layout_below="@id/headerLabel" android:layout_centerHorizontal="true" android:background="@android:drawable/editbox_dropdown_light_frame" /> <ListView android:id="@+id/myListView" android:layout_below="@id/mySpinner" android:layout_width="match_parent" android:layout_height="wrap_content" />
</RelativeLayout> MainActivitypackage info. camposha. listviewdropdownspinner; import android. app. Activity; import android. os. Bundle; import android. view. View; import android. widget. AdapterView; import android. widget. ArrayAdapter; import android. widget. ListView; import android. widget. Spinner; import android. widget. Toast; import java. util. ArrayList; public class MainActivity extends Activity { ListView myListView; Spinner mySpinner; ArrayAdapter<CosmicBody> adapter; String[] categories= {"Todas", "Sol", "Lua"}; /* Initialize ListView and Spinner, set their adapters and listen to spinner itemSelection events */ private void initializeViews () { mySpinner = findViewById (R. id. mySpinner); mySpinner. setAdapter(new ArrayAdapter<> (this, android. R. layout. simple_list_item_1, categories )); myListView = findViewById (R. id. myListView); myListView. setAdapter(new ArrayAdapter<> (this, android. R. layout. simple_list_item_1, getCosmicBodies ())); //spinner selection events mySpinner. setOnItemSelectedListener(new AdapterView. OnItemSelectedListener() { @Override public void onItemSelected (AdapterView<?> adapterView, View view, int position, long itemID ) { if (position >= 0 && position < categories. length) { getSelectedCategoryData (position ); } else { Toast. makeText(MainActivity. this, "Selected Category Does not Exist!", Toast. LENGTH_SHORT). show(); } } @Override public void onNothingSelected (AdapterView<?> adapterView ) { } }); } /* Populate an arraylist that will act as our data source. */ private ArrayList<CosmicBody> getCosmicBodies () { ArrayList<CosmicBody> data = new ArrayList<> (); data. clear(); //Maternal data. add(new CosmicBody ("Sol 1", 1)); data. add(new CosmicBody ("Lua 1", 2)); data. add(new CosmicBody ("Sol 2", 1)); data. add(new CosmicBody ("Lua 2", 2)); return data; } /* Get the selected category's cosmic bodies and bind to ListView */ private void getSelectedCategoryData (int categoryID ) { //arraylist to hold selected cosmic bodies ArrayList<CosmicBody> cosmicBodies = new ArrayList<> (); if(categoryID == 0) { adapter = new ArrayAdapter<> (this, android. R. layout. simple_list_item_1, getCosmicBodies ()); }else{ //filter by id for (CosmicBody cosmicBody : getCosmicBodies ()) { if (cosmicBody. getCategoryId() == categoryID ) { cosmicBodies. add(cosmicBody ); } } //instatiate adapter a adapter = new ArrayAdapter<> (this, android. R. layout. simple_list_item_1, cosmicBodies ); } //set the adapter to GridView myListView. setAdapter(adapter ); } /* when activity is created, setContentView then initializeViews. */ @Override protected void onCreate (Bundle savedInstanceState ) { super. onCreate(savedInstanceState ); setContentView (R. layout. activity_main); initializeViews (); }}/* Data Object class to represent a single Cosmic body. Class has default access modifier */class CosmicBody { private String name; private int categoryID; public String getName () { return name; } public int getCategoryId () { return categoryID; } public CosmicBody (String name, int categoryID ) { this. name = name; this. categoryID = categoryID; } @Override public String toString () { return name; }}
|
15 Fev 2020, 15:08 |
|
|
|
Página 1 de 1
|
[ 1 Mensagem ] |
|
Quem está online |
Usuários vendo este fórum: Alan Unger, alex, Anakin Skywalker, andrelom, arquivo51, Augusto, austonrd, bbourbon, BornSlip, brcamp, bruno.abd, brunogh, Brunohc, C0GuM3I0, cabelo, cavenaghi, cenatech, claudioalfonso, czambroni, Daniel Batista, Danilo Dias, denisfln, dkclan, dobau, dudu795, EvertonLB, fabricioLeonard, fabrizior, Felipe Ferreira, Felipe Marcondes, felipe.cintra, felipetesc, flaviojps, gapler, grandebaro, gustavo, Henrique Ferraz, henrique.cardoso, hugomarinho, ICCrawler - ICjobs, jackdaniel, jhhm_2008, jlucasps, Jorge Machin, João Miguel Aguiar, julianafsa, juliancesar, Juninhooooo, klebersilvarocha, klyff, lafamac, LForce, lillian.brandao, Lord, Luke Skywalker, marciosoliveira, marcos_trb, mateusff, maurofjr, mayahaslinger, mirelli, Mvitor, nilsgome, onedroid, paulabr, paulanegreiros, paulokiller, pgbatera, phobos, piantino, ramonsa, rananfu, raragao, rcotonet, rdchaves, reginaldofdias, Renan, renatocoliveira, retardad0, rfrafael, Ricardo Chikasawa, ricardo_listadelphi, rogerio, romulotales, Roney dos Santos, rsl_master, scattonevi, SEO Crawler, sergio, Shinigami, SidneiCP, snonca, Stryder, Synoo [Bot], ttaranto, W3 [Sitesearch], washington, weber, yeltsinlima, zeantonio e 43 visitantes |
|
Você não pode criar novos tópicos neste fórum Você não pode responder tópicos neste fórum Você não pode editar suas mensagens neste fórum Você não pode excluir suas mensagens neste fórum Você não pode enviar anexos neste fórum
|
|