Autore Topic: Aiuto modificazione listview  (Letto 385 volte)

Offline vesco

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
Aiuto modificazione listview
« il: 04 Luglio 2013, 14:10:37 CEST »
0
Buongiorno a tutti!
Ho aspettato parecchio prima di postare, ma sono all'ultima spiaggia..
Allora la mia applicazione è un piccolo gestionale medico basato su un DB in sqlite.
Il problema che ho riscontrato è che non riesco a cambiare nella listview i colori delle scritte, il font etc.. in modo da avere una lista più carina.
Ho letto vari tutorial a riguardo nella creazione di una custom listview, tuttavia io uso solo una listview per caricare vari dati..
provo a postare il codice sperando si capisca meglio:
Da questa classe faccio partire un'altra attività che mi mette in lista ciò che è stato scelto
Codice (Java): [Seleziona]
package com.example.localdb;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class Selezionato extends Activity{
        Button Anagrafica,Farmacologia,Ricoveri,InserisciFarmaco,Refertazione;

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.selezionato);
                Bundle extras = getIntent().getExtras();

                //Prendo l'id del paziente
                final String value = extras.getString("dati");
                //final int id = Integer.parseInt(value);
               
                //Definisco i pulsanti
                Anagrafica = (Button)findViewById(R.id.Anagrafica);
                Farmacologia = (Button)findViewById(R.id.Farmacologia);
                Ricoveri = (Button)findViewById(R.id.Ricoveri);
                InserisciFarmaco = (Button)findViewById(R.id.InserisciFarmaco);        
                Refertazione=(Button)findViewById(R.id.Refertazione);
               
                //final DB db=new DB(getApplicationContext());
           
            Anagrafica.setOnClickListener(new OnClickListener(){
                        @Override
                        public void onClick(View v){
                                Intent i = new Intent(getBaseContext(), Visualizza.class);
                                i.putExtra("dati","anagrafica" );//stringa, valore  
                                i.putExtra("id", value );//stringa, id paziente selezionato
                                startActivity(i);                              
                        }//fine OnClick
                       
                });//fine pressione bottone Anagrafica
           
            Farmacologia.setOnClickListener(new OnClickListener(){
                        @Override
                        public void onClick(View v){
                                Intent i = new Intent(getBaseContext(), Visualizza.class);
                                i.putExtra("dati","farmacologia" );//stringa, valore  
                                i.putExtra("id", value );//stringa, id paziente selezionato
                                startActivity(i);                              
                        }//fine OnClick
                       
                });//fine pressione bottone Farmacologia
           
            Ricoveri.setOnClickListener(new OnClickListener(){
                        @Override
                        public void onClick(View v){
                                Intent i = new Intent(getBaseContext(), Visualizza.class);
                                i.putExtra("dati","ricoveri" );//stringa, valore  
                                i.putExtra("id", value );//stringa, id paziente selezionato
                                startActivity(i);;
                       
                        }//fine OnClick
                       
                });//fine pressione bottone Ricoveri
                   
            InserisciFarmaco.setOnClickListener(new OnClickListener(){
                        @Override
                        public void onClick(View v){
                                Intent i = new Intent(getBaseContext(), InserireFarmaco.class);  
                                i.putExtra("id", value );//stringa, id paziente selezionato
                                startActivity(i);;

                        }//fine OnClick
                       
                });//fine pressione bottone InserisciFarmaco
           
            Refertazione.setOnClickListener(new OnClickListener(){
                        @Override
                        public void onClick(View v){
                                Intent i = new Intent(getBaseContext(), Visualizza.class);
                                i.putExtra("dati","refertazione" );//stringa, valore
                                i.putExtra("id", value );//stringa, id paziente selezionato
                                startActivity(i);;

                        }//fine OnClick
                       
                });//fine pressione bottone Refertazione

Quest è l'attività che mette a video:
Codice (Java): [Seleziona]
package com.example.localdb;

import java.util.ArrayList;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class Visualizza extends Activity{
        ListView l1;
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.visualizza);

                l1 = (ListView)findViewById(R.id.listd);//Risultato
            // mi prendo l'id del pulsante premuto
                Bundle extras = getIntent().getExtras();               
                final String  a = extras.getString("dati");
               
                final DB db=new DB(getApplicationContext());
                final ArrayList<String> ris = new ArrayList<String>();
                final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(Visualizza.this,android.R.layout.simple_list_item_1 , ris);
               
                if(a.compareTo("user")==0){//admin
                        db.open();
                        Cursor d = db.fetch(); // query
                        int ColonnaIDU=d.getColumnIndex(DB.User.IDU);
                        int ColonnaUserU=d.getColumnIndex(DB.User.NOMEU);
                        int ColonnaPassU=d.getColumnIndex(DB.User.PASSWORDU);
                        l1.setAdapter(arrayAdapter);
                        if (d.getCount()!=0){   //se trovo l'utente        
                                if(d.moveToFirst()){  //mi metto sul primo record
                                        do{
                                        ris.add(d.getString(ColonnaIDU)+ " NOME: "+d.getString(ColonnaUserU)
                                                                                                   + " PSW: "+d.getString(ColonnaPassU)
                                                                                                   + "\n");
                                        arrayAdapter.notifyDataSetChanged();
                                               
                                          }while (d.moveToNext());//finanto che ci sono record
                                       
                                }//fine 2° if
                        d.close();
                        db.close();
                        }//fine 1° if                                                 
                        else{
                                Toast.makeText(Visualizza.this,"Tabella User vuota", Toast.LENGTH_SHORT).show();
                                d.close();
                                db.close();
                        }//fine else
                }
                else if (a.compareTo("VisualizzaPazienti")==0){
                        db.open();
                        Cursor c = db.fetch8(); // query                               
                        int ColonnaNome=c.getColumnIndex(DB.Paziente.NOMEP);
                    int ColonnaCognome=c.getColumnIndex(DB.Paziente.COGNOMEP);
                    int ColonnaID=c.getColumnIndex(DB.Paziente.IDP);
                    int ColonnaNascita=c.getColumnIndex(DB.Paziente.NASCITAP);
                    int ColonnaIndirizzo=c.getColumnIndex(DB.Paziente.INDIRIZZOP);
                    int ColonnaTelefono=c.getColumnIndex(DB.Paziente.TELEFONOP);
                    int ColonnaIdUser=c.getColumnIndex(DB.User.NOMEU);
                    l1.setAdapter(arrayAdapter);
                    if(c.getCount()!=0){        //se trovo qualcosa
                    if(c.moveToFirst()){  //mi metto sul primo record
                        do{                                    
                                ris.add(c.getString(ColonnaID)+ " NOME: "+c.getString(ColonnaNome)
                                                                                          + " COGNOME: "+c.getString(ColonnaCognome)
                                                                                          + " Nascita: "+c.getString(ColonnaNascita)
                                                                                          + " Indirizzo: "+c.getString(ColonnaIndirizzo)
                                                                                          + " Telefono: "+c.getString(ColonnaTelefono)
                                                                                          + " User: "+c.getString(ColonnaIdUser)
                                                                                          + "\n");
                                arrayAdapter.notifyDataSetChanged();
                        }while (c.moveToNext());//e aggiungo i risultati nella lista
                       }

                c.close();
                        db.close();
                   }
        else {//se non trovo nessun paziente
                ris.add("Tabella pazienti vuota!");
                arrayAdapter.notifyDataSetChanged();

        }//fine else           
        c.close();
                db.close();  
                }//fine else if
                else if (a.compareTo("anagrafica")==0){
                        final String  idstringa = extras.getString("id");
                        final int id = Integer.parseInt(idstringa);
                        db.open();
                        Cursor c = db.fetch7(id); // query                             
                        int ColonnaNome=c.getColumnIndex(DB.Paziente.NOMEP);
                    int ColonnaCognome=c.getColumnIndex(DB.Paziente.COGNOMEP);
                    int ColonnaID=c.getColumnIndex(DB.Paziente.IDP);
                    int ColonnaNascita=c.getColumnIndex(DB.Paziente.NASCITAP);
                    int ColonnaIndirizzo=c.getColumnIndex(DB.Paziente.INDIRIZZOP);
                    int ColonnaTelefono=c.getColumnIndex(DB.Paziente.TELEFONOP);
                    l1.setAdapter(arrayAdapter);
                    if(c.getCount()!=0){        //se trovo qualcosa
                    if(c.moveToFirst()){  //mi metto sul primo record
                        do{                                    
                                ris.add(c.getString(ColonnaID)+ " NOME: "+c.getString(ColonnaNome)
                                                                                          + " COGNOME: "+c.getString(ColonnaCognome)
                                                                                          + " Nascita: "+c.getString(ColonnaNascita)
                                                                                          + " Indirizzo: "+c.getString(ColonnaIndirizzo)
                                                                                          + " Telefono: "+c.getString(ColonnaTelefono)
                                                                                          + "\n");
                                arrayAdapter.notifyDataSetChanged();

                        }while (c.moveToNext());//e aggiungo i risultati nella lista
                       }

                c.close();
                        db.close();
                   }
        else {//se non trovo nessun paziente
                ris.add("Nessun paziente trovato!");
                arrayAdapter.notifyDataSetChanged();

        }//fine else           
        c.close();
                db.close();  
                }//fine else if
               
                else if (a.compareTo("farmacologia")==0){
                        final String  idstringa = extras.getString("id");
                        final int id = Integer.parseInt(idstringa);
                        db.open();
                        Cursor c = db.fetch4(id);      
                        int ColonnaId=c.getColumnIndex(DB.Farmaci.IDF);
                        int ColonnaNome=c.getColumnIndex(DB.Farmaci.NOMEF);
                    int ColonnaData=c.getColumnIndex(DB.Farmaci.DATAF);
                    int ColonnaNote=c.getColumnIndex(DB.Farmaci.NOTEF);

                    l1.setAdapter(arrayAdapter);
                    if(c.getCount()!=0){        //se trovo qualcosa
                    if(c.moveToFirst()){  //mi metto sul primo record
                        do{                                    
                                ris.add(c.getString(ColonnaId)+ " Data: "+c.getString(ColonnaData)
                                                                                          + "\n"
                                                                                          + " Nome: "+c.getString(ColonnaNome)
                                                                                          + "\n"
                                                                                          + " Note: "+c.getString(ColonnaNote)
                                                                                          + "\n");
                                arrayAdapter.notifyDataSetChanged();
                        }while (c.moveToNext());//e aggiungo i risultati nella lista
                       }

                c.close();
                        db.close();
                   }
        else {//se non trovo nessun farmaco
                ris.add("Nessun farmaco!");
                arrayAdapter.notifyDataSetChanged();

        }//fine else           
        c.close();
                db.close();  
                }//fine else if
               
                else if (a.compareTo("ricoveri")==0){                  
                        final String  idstringa = extras.getString("id");
                        final int id = Integer.parseInt(idstringa);
                        db.open();
                        Cursor c = db.fetch9(id);      
                        int ColonnaId=c.getColumnIndex(DB.Ricoveri.IDR);
                        int ColonnaData=c.getColumnIndex(DB.Ricoveri.DATAR);
                    int ColonnaNote=c.getColumnIndex(DB.Ricoveri.NOTE);

                    l1.setAdapter(arrayAdapter);
                    if(c.getCount()!=0){        //se trovo qualcosa
                    if(c.moveToFirst()){  //mi metto sul primo record
                        do{                                    
                                ris.add(c.getString(ColonnaId)+ " Data: "+c.getString(ColonnaData)
                                                                                          + " Note: "+c.getString(ColonnaNote)
                                                                                          + "\n");
                                arrayAdapter.notifyDataSetChanged();
                        }while (c.moveToNext());//e aggiungo i risultati nella lista
                       }

                c.close();
                        db.close();
                   }
        else {//se non trovo nessun farmaco
                ris.add("Nessun ricovero!");
                arrayAdapter.notifyDataSetChanged();

        }//fine else           
        c.close();
                db.close();  
                }//fine else if
               
                else if (a.compareTo("refertazione")==0){
                        final String  idstringa = extras.getString("id");
                        final int id = Integer.parseInt(idstringa);
                        db.open();
                        Cursor c = db.fetch10(id);     
                        int ColonnaId=c.getColumnIndex(DB.Refertazione.IDE);
                        int ColonnaNote=c.getColumnIndex(DB.Refertazione.NOTEE);
                    int ColonnaData=c.getColumnIndex(DB.Refertazione.DATAE);

                    l1.setAdapter(arrayAdapter);
                    if(c.getCount()!=0){        //se trovo qualcosa
                    if(c.moveToFirst()){  //mi metto sul primo record
                        do{                                    
                                ris.add(c.getString(ColonnaId)+ " Data: "+c.getString(ColonnaData)
                                                                                          + "\n"
                                                                                          + " Note: "+c.getString(ColonnaNote)
                                                                                          + "\n");
                                arrayAdapter.notifyDataSetChanged();
                        }while (c.moveToNext());//e aggiungo i risultati nella lista
                       }

                c.close();
                        db.close();
                   }
        else {//se non trovo nessun farmaco
                ris.add("Nessun farmaco!");
                arrayAdapter.notifyDataSetChanged();

        }//fine else           
        c.close();
                db.close();  
                }//fine else if
               
        }//fine OnCreate       
}//fine classe

Infatti a video ho :
1 NOME: Mario COGNOME: Rossi Nascita: 09/09/1991 Indirizzo Via Giustiniani2 Telefono:xxxxxxxxxx

E desideravo qualcosa di più carino ad esempio il nome e cognome con font più grande, l'indirizzo in grassetto etc..
Qualcuno che mi posa aiutare ? :D