我只想问,是否可以在我自己的程序中编辑列表视图。
基本上我有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 :(得分:1)