Autore Topic: ListActivity multilinea  (Letto 868 volte)

Offline Maru

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG P500
  • Sistema operativo:
    Windows 7, Mac OS X 10.6
ListActivity multilinea
« il: 30 Luglio 2011, 12:10:56 CEST »
0
Ciao Ragazzi,

Qualcuno saprebbe consigliarmi un metodo semplice e veloce per creare delle ListActivity con più linee di testo nella stessa riga?

Esempio


Grazie in anticipo
Maru

Offline Gigiuz

  • Utente normale
  • ***
  • Post: 187
  • Respect: +23
    • Google+
    • gigiuzzo81
    • Gigiuz81
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Note III
  • Play Store ID:
    GGXSoft
  • Sistema operativo:
    Windows 7 64bit, OS X (virtualized), Ubuntu
Re:ListActivity multilinea
« Risposta #1 il: 30 Luglio 2011, 13:20:46 CEST »
0
Dovresti crearti un layout di list item personalizzato, come se stessi creando il layout di una activity, composto solo da un LinearLayout con orientation verticale e due TextView (una sotto l'altra), impostando i parametri per la dimensione dei caratteri.

In seguito, quando crei l'adapter (un SimpleCursorAdapter per esempio se stai lavorando con un db sqlite, o un adapter personalizzato) selezioni la correlazione tra i campi e gli id delle TextView.

Ecco un esempio:

file xml che rappresenta un singolo elemento:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical" android:layout_width="fill_parent"
        android:layout_height="fill_parent" android:paddingLeft="10dp"
        android:paddingRight="10dp" android:paddingTop="5dp"
        android:paddingBottom="5dp">
        <TextView android:textAppearance="?android:attr/textAppearanceLarge"
                android:layout_height="wrap_content" android:text="TextView"
                android:layout_width="wrap_content" android:id="@+id/titleText"></TextView>
        <TextView android:textAppearance="?android:attr/textAppearanceSmall"
                android:layout_height="wrap_content" android:text="TextView"
                android:layout_width="wrap_content" android:id="@+id/descText"></TextView>
</LinearLayout>

Questo un esempio di ListActivity:

Codice (Java): [Seleziona]
package net.ggxsoft.esempio;

import java.util.ArrayList;
import java.util.HashMap;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.SimpleAdapter;

public class EsempioActivity extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
       
        /* Metodo creato a scopo puramente esemplificativo e dimostrativo:
         * i dati possono essere prelevati in svariati modi,
         * come da un database sqlite ad esempio, oppure
         * attraverso oggetti di classi create appositamente e
         * la conseguente elaborazione in un Adapter personalizzato */
       
        ArrayList<HashMap<String,String>> list = generateData();
       
        /* Qui ho usato un semplicissimo SimpleAdapter */      
        SimpleAdapter adapter = new SimpleAdapter(
                                                        this,
                                                        list,
                                                        R.layout.list_item,
                                                        new String[] {"TITLE", "DESC"},
                                                        new int[] {R.id.titleText, R.id.descText}
                                                        );
       
        setListAdapter(adapter);
    }

        private ArrayList<HashMap<String, String>> generateData() {
                ArrayList<HashMap<String,String>> list = new ArrayList<HashMap<String,String>>();
        list.add(new HashMap<String, String>());
        list.add(new HashMap<String, String>());
        list.add(new HashMap<String, String>());
       
        list.get(0).put("TITLE", "Dodad Number 1");
        list.get(0).put("DESC", "Cool little Dodad");
       
        list.get(1).put("TITLE", "Dodad Number 2");
        list.get(1).put("DESC", "The everyday Dodad");
       
        list.get(2).put("TITLE", "Dodad Number 3");
        list.get(2).put("DESC", "Essential do everything Dodad");
                return list;
        }
}

Spero che ti possa tornare utile... :)
Hai bisogno di implementare un sistema di "codici seriali di sblocco" nella tua applicazione? Dai un'occhiata alla mia libreria: RemoteUnlocker

Offline Maru

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG P500
  • Sistema operativo:
    Windows 7, Mac OS X 10.6
Re:ListActivity multilinea
« Risposta #2 il: 30 Luglio 2011, 14:03:33 CEST »
0
Wow!!

Centrato in pieno!

Grazie Mille  :D
Maru

Offline Gigiuz

  • Utente normale
  • ***
  • Post: 187
  • Respect: +23
    • Google+
    • gigiuzzo81
    • Gigiuz81
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy Note III
  • Play Store ID:
    GGXSoft
  • Sistema operativo:
    Windows 7 64bit, OS X (virtualized), Ubuntu
Re:ListActivity multilinea
« Risposta #3 il: 30 Luglio 2011, 14:11:52 CEST »
0
Wow!!

Centrato in pieno!

Grazie Mille  :D

Un è sempre ben accetto, lo trovi in ogni post, in alto a destra.

Inoltre dovresti marcare il post come così da aiutare nelle future ricerche di altri utenti. ;)
Hai bisogno di implementare un sistema di "codici seriali di sblocco" nella tua applicazione? Dai un'occhiata alla mia libreria: RemoteUnlocker

Offline Maru

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG P500
  • Sistema operativo:
    Windows 7, Mac OS X 10.6
Re:ListActivity multilinea
« Risposta #4 il: 30 Luglio 2011, 14:25:29 CEST »
0
Scusami, ma sono cieco.. sto avendo dei grossi problemi a trovare questo fantomatico pulsante thanks...  o_O
Maru