CERCA
PER MODELLO
FullScreen Chatbox! :)

Utente del giorno: aquila989 con ben 1 Thanks ricevuti nelle ultime 24 ore
Utente della settimana: megthebest con ben 19 Thanks ricevuti negli ultimi sette giorni
Utente del mese: megthebest con ben 33 Thanks ricevuti nell'ultimo mese

Visualizzazione dei risultati da 1 a 2 su 2
Discussione:

Colore sfondo cella GridView a seconda di valore variabile

Se questa discussione ti è stata utile, ti preghiamo di lasciare un messaggio di feedback in modo che possa essere preziosa in futuro anche per altri utenti come te!
  1. #1
    Baby Droid


    Registrato dal
    Mar 2020
    Messaggi
    3

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Colore sfondo cella GridView a seconda di valore variabile

    Buongiorno a tutti,
    sto sviluppando un app per una TV android che deve mostrare in azienda lo stato degli operatori (che sono 4 o 5). Questi dati vengono presi da un database SQL Server tramite l'esecuzione di una query che viene poi ribaltata dentro ad un ResultSet e poi con un Simple Adapter viene mostrata sulla GridView (una sorta di reticolato 3 colonne x 2 righe).
    E fin qui nessun problema, quando eseguo l'app, tutto viene mostrato correttamente.

    Avrei però bisogno di gestire il colore di sfondo delle celle della grid view a seconda dei dati mostrati (o contenuti nelle variabili che vengono appunto mostrate nella cella della GridView.

    Attualmente il codice è questo
    codice:
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            GridView gridView=(GridView)findViewById(R.id.gridview1);
            SimpleAdapter adapter;
            ConnectionClass connectionClass = new ConnectionClass();
            con = connectionClass.CONN();
    
            List<Map<String,String>> data = new ArrayList<Map<String,String>>();
    
            try {
                if (connectionClass !=null){
                    int count = 0;
                    String sqlWorkerState1 = "SELECT * FROM [ICM_MES].[dbo].[_Vista_stato_presenza_operatori]";
                    Statement statement = con.createStatement();
                    ResultSet resultSet = statement.executeQuery(sqlWorkerState1);
                    int size = resultSet.getFetchSize();
    
                    while (resultSet.next()){
                        HashMap<String,String> tab = new HashMap<String,String>();
                        tab.put("idoperatore", "ID operatore: "+resultSet.getString("idoperatore"));
                        tab.put("data", resultSet.getString("data"));
                        if (resultSet.getString("statopresenza").equals("0")){
                            tab.put("statopresenza", "Presente");
                        } else {
                            tab.put("statopresenza", "Non presente");
                        }
                        tab.put("nomecognome", resultSet.getString("nomecognome"));
                        data.add(tab);
                        count++;
                    }
                    Toast.makeText(this, String.valueOf(count), Toast.LENGTH_LONG).show();
    
                    String[] from = {"idoperatore","statopresenza","nomecognome"};
                    int[] to = {R.id.idoperatore,R.id.statopresenza,R.id.nomecognome};
                    adapter = new SimpleAdapter(MainActivity.this, data, R.layout.gridviewlayout, from, to);
                    gridView.setAdapter(adapter);
    
                }
    
            } catch (Exception e) {
                Log.e("Error: ",e.getMessage());
    
            }
        }
    Qualche idea?

    Grazie

  2.  
  3. #2
    Baby Droid


    Registrato dal
    Mar 2020
    Messaggi
    3

    Ringraziamenti
    0
    Ringraziato 0 volte in 0 Posts
    Predefinito

    Dimenticavo di dirvi che il colore di sfondo deve essere rosso se il valore di getString("statopresenza") è = "1" mentre deve essere giallo se il valore è = "0"

    Poi dovrò fare anche un altro colore (verde) in caso si verifichi un altra condizione, ma poi quello devo ancora scriverlo. Mi manca però questo passaggio.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire risposte
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Torna su
Privacy Policy