bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


android_listview

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
android_listview [2023/10/16 14:49]
enric_mieza_sanchez
android_listview [2024/10/29 19:06] (actual)
enric_mieza_sanchez
Línia 6: Línia 6:
   * ''ListView'' és un //widget// obsolet.   * ''ListView'' és un //widget// obsolet.
   * Es manté per //backward compatibility//.   * Es manté per //backward compatibility//.
-  * Substitut actual: ''RecycleView'' més complicat d'utilitzar+  * //Widget// recomanat actual: [[Android RecyclerView]] (però més complicat d'utilitzar).
  
 Referències: Referències:
-  * Article [[Android]] aquesta wiki.+  * Article [[Android]] en aquesta wiki. 
 +  * [[Android RecyclerView]] en aquesta wiki.
   * [[https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView|Tutorial d'utilització de ListView d'Android]]   * [[https://github.com/codepath/android_guides/wiki/Using-an-ArrayAdapter-with-ListView|Tutorial d'utilització de ListView d'Android]]
   * [[https://gist.github.com/emieza/b918305010be198c037252f402821fef|Codi d'exemple més simple d'utilització d'una ListView]]   * [[https://gist.github.com/emieza/b918305010be198c037252f402821fef|Codi d'exemple més simple d'utilització d'una ListView]]
  
-{{tag> #Dam #DamMp08 #DamMp08Uf1 #DamMp08Uf01 }}+{{tag> #Dam #DamMp08 #DamMp08Uf1 #DamMp08Uf01 android MVC java mobile}}
  
 ==== Perquè és complicada una ListView? ==== ==== Perquè és complicada una ListView? ====
Línia 50: Línia 51:
   * No creem una classe derivada de ''ArrayAdapter'': simplement instanciem un de genèric (línia 43) i sobreescrivim el mètode ''getView''.   * No creem una classe derivada de ''ArrayAdapter'': simplement instanciem un de genèric (línia 43) i sobreescrivim el mètode ''getView''.
  
-==== Codi taula de rècords ==== +**Segueix abaix per veure el codi** 
-<file java>+ 
 +==== Connexió (simplificada) Model - Adapter - View ==== 
 + 
 +<code java> 
 +public class MainActivity extends AppCompatActivity { 
 +    ArrayList<Record> records;    // Model Taula de records (ArrayList) 
 +    ArrayAdapter<Record> adapter; // l'Adapter serà l'intermediari amb la ListView 
 + 
 +    @Override 
 +    protected void onCreate(Bundle savedInstanceState) { 
 +        // Creem llista de records, etc... 
 + 
 +        // Inicialitzem l'Adapter i el connectem amb el Model (records) 
 +        adapter = new ArrayAdapter<Record>( this, R.layout.list_item, records ) 
 +        { 
 +            @Override 
 +            public View getView(int pos, View convertView, ViewGroup container) 
 +            { 
 +                // "inflem" el Layout a partir de l'XML 
 +                convertView = getLayoutInflater().inflate(R.layout.list_item, container, false); 
 +                // transferim dades del Model als widgets per a l'element en la posició "pos" 
 +                ((TextView) convertView.findViewById(R.id.nom)).setText(getItem(pos).nom); 
 +            } 
 + 
 +        }; 
 + 
 +        // Connectem Adapter amb la View 
 +        ListView lv = (ListView) findViewById(R.id.recordsView); 
 +        lv.setAdapter(adapter); 
 +         
 +        // Creem la resta d'elements de l'app... 
 +    } 
 +
 + 
 +</code> 
 + 
 + 
 +==== Codi complert taula de rècords ==== 
 +<file java MainActivity.java>
 package com.example.listilla; package com.example.listilla;
  
Línia 146: Línia 185:
     * Transforma el seu layout per defecte a LinearLayout.     * Transforma el seu layout per defecte a LinearLayout.
     * Afegiex 2 ''TextView'' amb IDs ''nom'' i ''intents''.     * Afegiex 2 ''TextView'' amb IDs ''nom'' i ''intents''.
-  * Afegeix un botó al ''layout_main'' amb ID = ''button''. Servirà per afegir ítems al ''ListView'' i comprovar el //scroll// del ''ListView''.+  * Afegeix un botó al //layout// ''activity_main.xml'' amb ID = ''button''. Servirà per afegir ítems al ''ListView'' i comprovar el //scroll// del ''ListView''.
 </WRAP> </WRAP>
  
android_listview.1697467752.txt.gz · Darrera modificació: 2023/10/16 14:49 per enric_mieza_sanchez