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 [2025/10/27 12:32]
enric_mieza_sanchez
android_listview [2025/10/27 15:25] (actual)
enric_mieza_sanchez
Línia 44: Línia 44:
 \\ \\
  
-===== Exemple ArrayList simplificat =====+==== Codi taula de rècords ====
  
-  * Referència[[https://gist.github.com/emieza/b918305010be198c037252f402821fef|codi d'exemple amb ArrayAdapter]]. +<WRAP info> 
-  * Exemple d'una taula de rècords amb nom del jugador i intents. +Fixeu-vos en què
-  * Utilitza un ''list_item'' personalitzat. +  * Hi ha els 3 elements: records (model) <-> adapter (ArrayAdapter) <-> listView 
-  * No creem una classe derivada de ''ArrayAdapter'': simplement instanciem un de genèric (línia 43i sobreescrivim el mètode ''getView''+  * L'''adapter'' es pot crear com una classe derivada, o bé un **objecte particularitzat**. En aquest cas és la 2a opció (objecte particularitzat "inline")
- +  * Dintre de ''adapter.getView'' es realitza el **reciclatge**: si ens ve un objecte ''null'', l'inicialitzem amb el ''LayoutInflater''Si no és ''null'', el reciclem sobreescrivint i modificant les dades
-**Segueix abaix per veure el codi** +</WRAP>
- +
-==== 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 recordsetc... +
- +
-        // 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 ====+
  
 <tabbox Kotlin> <tabbox Kotlin>
Línia 100: Línia 62:
  
     // ArrayAdapter serà l'intermediari amb la ListView     // ArrayAdapter serà l'intermediari amb la ListView
-    var adapter: ArrayAdapter<Record>? = null+    lateinit var adapter: ArrayAdapter<Record>
  
     override fun onCreate(savedInstanceState: Bundle?) {     override fun onCreate(savedInstanceState: Bundle?) {
android_listview.1761568359.txt.gz · Darrera modificació: 2025/10/27 12:32 per enric_mieza_sanchez