2013-07-04 73 views
0

我只想问,如果可以在我自己的程序中编辑列表视图。编辑ListView Android

基本上我有5个按钮,每当我按下他们其中一个启动另一个活动,即查询数据库并在列表视图中显示结果。

我使用的simple_list_item_1管理和它的作品,但输出是这样的:

1 NOME: Mario COGNOME: Rossi Nascita: 09/09/1991 Indirizzo Via Giustiniani2 Telefono:xxxxxxxxxx 

现在,是有可能修改,例如字体或我输出的颜色? 这与按钮的活动:

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 

     }); 
    } 
} 

,这是显示输出活动:

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 
+0

你看这个问题:http://stackoverflow.com/questions/7361135/how-to-change-color-and-font-on-listview –

+1

哦,上帝,我在此,乌尔链接帮助我很多ty – Vesco

回答

1
当然可以的

!您应该使用BaseAdapter而不是ArrayAdapter!检查文档或谷歌的教程...很容易使用它们,它们非常强大!

+0

mmh凯,不知道baseadpter,但我已经看到这个例子:http://tausiq.wordpress.com/2012/08/22/android-listview-example-with-custom-adapter/ 而这个人正在使用一个类来检索字符串并将它们放入列表中,并且我无法创建一个类,导致我需要将其放入列表中来自其他活动 – Vesco