Autore Topic: Aiuto ListView  (Letto 488 volte)

Offline Twing

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC exlporer
  • Sistema operativo:
    Ubunutu 11.04
Aiuto ListView
« il: 30 Marzo 2012, 16:28:55 CEST »
0
Ragazzi ho bisogno di voi.
Io ho un activity che mi prende i dati di un database e me li mette dentro una listView tramite un cursore.
Fin qui tutto bene. Il programma gira.
Il problema sorge quando installo il prog sul mio dispositivo android.
Se avvio il programma mi si presenta la listView corretta ma se la vado a scorrere mi diventa un blocco nero e si ricarica se schiaccio su un elemento di tale lista.
Non so proprio se sia un errore di codice, una mia dimenticanza oppure altro.
Aggiungo che nel testare il codice con il cellulare virtuale incluso nella SDK android non ho questo problema.
Allego il codice della list view
Codice (Java): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="@drawable/sfondo" >

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/icon" />

        <TextView
            android:id="@+id/header_lista_missioni"
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_gravity="fill"
            android:text="@string/header_lista_missioni"
            android:textColor="#000000"
            android:textAppearance="?android:attr/textAppearanceLarge" />

    </LinearLayout>

    <ListView
        android:id="@+id/lV_missioni"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
    </ListView>
   
</LinearLayout>
Layout di ogni elemento della listView
Codice (Java): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/record"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/SpeseHeader"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/MissionHeader"
        android:textColor="#000000"
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <TextView
        android:id="@+id/SpeseFooter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/MissionPlace"
        android:textColor="#000000" />
   
</LinearLayout>
Codice della ListView
Codice (Java): [Seleziona]
MissioniDb db=new MissioniDb(getApplicationContext());

        db.open();  
       
        Cursor c=db.fetchMissions();

        startManagingCursor(c);
   
        SimpleCursorAdapter adapter=new SimpleCursorAdapter(
                        this,
                        R.layout.layout_list_missioni,
                        c,
                        new String[]{MissioniDb.MissionMetaData.MISSION_NAME_KEY,MissioniDb.MissionMetaData.MISSION_PLACE_KEY,MissioniDb.MissionMetaData.MISSION_SDATE_KEY,MissioniDb.MissionMetaData.MISSION_EDATE_KEY},//questi colonne
                        new int[]{R.id.MissionHeader,R.id.MissionPlace,R.id.tV_sDate,R.id.tV_eDate});//in queste views
       
        MissioniLv.setAdapter(adapter);
       
        db.close();  
       
                MissioniLv.setOnItemClickListener(new OnItemClickListener() {
                    public void onItemClick(AdapterView<?> parent, View v,int position, long id) {
                   
                        Intent intent_2=new Intent (Lista_Missioni.this,Lista_Spese.class);
                                intent_2.putExtra("riga missione", position);
                                startActivity(intent_2);
               
                }
                });

Offline Twing

  • Nuovo arrivato
  • *
  • Post: 3
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    HTC exlporer
  • Sistema operativo:
    Ubunutu 11.04
Re:Aiuto ListView
« Risposta #1 il: 01 Aprile 2012, 12:24:58 CEST »
0
Alla fine ho risolto. Basta aggiungere all'interno dell'xml contenente la listview la seguente dicitura
Codice (Java): [Seleziona]
android:cacheColorHint="#00000000"