Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
|
android_listview [2025/10/27 12:30] 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:// | + | <WRAP info> |
| - | * Exemple d'una taula de rècords amb nom del jugador i intents. | + | Fixeu-vos en què: |
| - | * Utilitza un '' | + | * Hi ha els 3 elements: records (model) <-> adapter (ArrayAdapter) <-> listView |
| - | * No creem una classe derivada | + | * L''' |
| - | + | * Dintre de '' | |
| - | **Segueix abaix per veure el codi** | + | </WRAP> |
| - | + | ||
| - | ==== Connexió (simplificada) Model - Adapter - View ==== | + | |
| - | + | ||
| - | <code java> | + | |
| - | public class MainActivity extends AppCompatActivity { | + | |
| - | ArrayList< | + | |
| - | ArrayAdapter< | + | |
| - | + | ||
| - | @Override | + | |
| - | protected void onCreate(Bundle savedInstanceState) { | + | |
| - | // Creem llista de records, etc... | + | |
| - | + | ||
| - | // Inicialitzem | + | |
| - | adapter = new ArrayAdapter< | + | |
| - | { | + | |
| - | @Override | + | |
| - | public View getView(int pos, View convertView, | + | |
| - | { | + | |
| - | // " | + | |
| - | convertView = getLayoutInflater().inflate(R.layout.list_item, | + | |
| - | // transferim dades del Model als widgets per a l'element en la posició " | + | |
| - | ((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' | // ArrayAdapter serà l' | ||
| - | var adapter: ArrayAdapter< | + | |
| override fun onCreate(savedInstanceState: | override fun onCreate(savedInstanceState: | ||
| Línia 128: | Línia 90: | ||
| } | } | ||
| // pintem imatge | // pintem imatge | ||
| - | val bitmap = BitmapFactory.decodeStream( assets.open(" | + | val bitmap = BitmapFactory.decodeStream( assets.open(" |
| convertView.findViewById< | convertView.findViewById< | ||
| // " | // " | ||
| Línia 244: | Línia 206: | ||
| <WRAP todo> | <WRAP todo> | ||
| Afegeix una imatge als elements de la llista (imatge fixa): | Afegeix una imatge als elements de la llista (imatge fixa): | ||
| + | |||
| + | {{ android: | ||
| + | |||
| + | Solució 1: | ||
| * Afegeix una '' | * Afegeix una '' | ||
| + | * Arranja el //layout// perquè quedi com a la imatge anterior aproximadament. | ||
| * Afegeix la carpeta '' | * Afegeix la carpeta '' | ||
| * Afegeix una foto arrossegant-la sobre la vista de projecte d' | * Afegeix una foto arrossegant-la sobre la vista de projecte d' | ||
| * La podràs fer servir amb el codi de l' | * La podràs fer servir amb el codi de l' | ||
| - | val bitmap = BitmapFactory.decodeStream( assets.open(" | + | val bitmap = BitmapFactory.decodeStream( assets.open(" |
| convertView.findViewById< | convertView.findViewById< | ||
| </ | </ | ||
| Línia 260: | Línia 227: | ||
| * Afegeix diverses imatges als // | * Afegeix diverses imatges als // | ||
| - | {{ android: | ||
| </ | </ | ||