CERCA
PER MODELLO
FullScreen Chatbox! :)

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

Visualizzazione dei risultati da 1 a 3 su 3
Discussione:

Custom Listview con due textView, passaggio dati da database sqlite con query

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
    Jul 2015
    Messaggi
    49

    Ringraziamenti
    4
    Ringraziato 2 volte in 2 Posts
    Predefinito

    Custom Listview con due textView, passaggio dati da database sqlite con query

    Salve, ho seguito alla lettera il tutorial di Ricky [medio] ListView con layout personalizzato tramite un custom ArrayAdapter - Android Developers Italia
    ma ora non so come gestire la mia app

    ho problemi ad gestire la classe "private class BackgroundWorker extends AsyncTask ........"
    e non ho capito dove inserire le query con i relativi risultati
    sapete come fare per aggiungere tramite delle query i valori ricevuti ed inserirli nelle due textview
    dovrei avere
    textview1 textview2
    a 1
    b 2
    f 5
    d 22
    h 21
    vi posto il mio prolema
    x
     
    1
    2
    public class Salsicce extends Activity {
    3
        private DbHelper helper =new DbHelper(this);    //  private DbHelper helper = null;   //  helper= new DbHelper(this);
    4
        Adapter_Ingredienti adapter_ingredienti;
    5
        ListView listView;
    6
        EditText editText;
    7
        Button button;
    8
    9
              @<a rel="nofollow" href="https://www.androidiani.com/forum/members/override.html" target="_blank">Override</a>
    10
            protected void onCreate(Bundle savedInstanceState) {
    11
                super.onCreate(savedInstanceState);
    12
                setContentView(R.layout.salsicce);
    13
                //per settare actionBar
    14
                String C = "#ff8823";
    15
                ActionBar actionBar = getActionBar();
    16
                actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor(C))); // impostare colore desiderato actionBar
    17
    18
                final SQLiteDatabase db = helper.getReadableDatabase();//sola lettura x fare query
    19
    20
                listView = (ListView) findViewById(R.id.listView);
    21
                editText = (EditText) findViewById(R.id.editText);
    22
                button = (Button) findViewById(R.id.button);
    23
                Intent intent = getIntent(); // l'intent di questa activity
    24
    25
    26
                String Salsiccia = getPackageName(); //prendere stringa passata
    27
                final String id_figlio = intent.getStringExtra(Salsiccia + ".myIn");
    28
    29
    30
                adapter_ingredienti = new Adapter_Ingredienti(this, R.layout.row_salsicce,new ArrayList());
    31
                listView.setAdapter(adapter_ingredienti);
    32
                new BackgroundWorker().execute();
    33
    34
    35
                //prendere valore edittext cn bottone
    36
                button.setOnClickListener(new View.OnClickListener(){
    37
                      @<a rel="nofollow" href="https://www.androidiani.com/forum/members/override.html" target="_blank">Override</a>
    38
                    public void onClick(View arg0) {
    39
                        String Valore = editText.getText().toString();
    40
                        // verifico se è vuoto
    41
                        if ( Valore.trim().isEmpty() ) {
    42
                            // visualizzo un messaggio definito in strings.xml
    43
                            editText.setError(getText(R.string.errore));
    44
                            // attivo il controllo
    45
                            editText.requestFocus();
    46
    47
                        }
    48
                        else{
    49
                        int ValoreIntero = Integer.parseInt(Valore);
    50
                        float ValoreFloat = Float.parseFloat(Valore);
    51
                        Log.d("valore edit", (Valore+" " + ValoreIntero+" " + ValoreFloat));
    52
    53
                        //valore
    54
                        Cursor a = db.rawQuery("SELECT valore FROM unioneingredienti WHERE idfiglio=?", new String[]{id_figlio});
    55
                        a.moveToFirst();
    56
                        final ArrayList list_valore = new ArrayList();
    57
                        for (int z = 0; z < a.getCount(); z++) {
    58
                            Log.d("idpadre", String.valueOf((a.getInt(0)*ValoreIntero)));
    59
                            list_valore.add(a.getInt(0));
    60
                            a.moveToNext();
    61
    62
    63
                        }
    64
                        }}
    65
                });
    66
    67
    68
                Cursor c = db.rawQuery("SELECT idingredienti FROM unioneingredienti WHERE idfiglio=?", new String[]{id_figlio});
    69
                c.moveToFirst();
    70
                final ArrayList listp = new ArrayList();
    71
    72
                for (int z = 0; z < c.getCount(); z++) {
    73
                    Cursor r = db.rawQuery("SELECT nome FROM ingredienti WHERE _id=?", new String[]{c.getString(0)});
    74
                    r.moveToFirst();
    75
                    for (int i = 0; i < r.getCount(); i++) {
    76
                        Log.d("idpadre", (r.getString(0) + c.getString(0) + r.getCount()));
    77
                        listp.add(r.getString(0));
    78
                        r.moveToNext();
    79
                    }
    80
                    c.moveToNext();
    81
    82
                    final ArrayAdapter adapter = new ArrayAdapter(this, R.layout.row_salsicce, R.id.textViewList, listp);
    83
                    listView.setAdapter(adapter);
    84
                }
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
                String figlio = intent.getStringExtra(Salsiccia + ".myString");
    96
                String id_padre = intent.getStringExtra(Salsiccia + ".myInt");
    97
    98
    99
                TextView tv = (TextView) findViewById(R.id.nome);
    100
                tv.append(figlio + "\n"); //visualizziamo i dati
    101
                // tv.append(id_figlio);
    102
                //  tv.append("id del padre"+s+"\n");
    103
    104
            }
    105
    106
        private class BackgroundWorker extends AsyncTask {
    107
    108
              @<a rel="nofollow" href="https://www.androidiani.com/forum/members/override.html" target="_blank">Override</a>
    109
            protected void onPreExecute() {
    110
                // Prima di iniziare a inserire gli elementi svuotiamo l'adapter
    111
                adapter_ingredienti.clear();
    112
                super.onPreExecute();
    113
            }
    114
    115
              @<a rel="nofollow" href="https://www.androidiani.com/forum/members/override.html" target="_blank">Override</a>
    116
            protected Void doInBackground(Void... params) {
    117
                final SQLiteDatabase db = helper.getReadableDatabase();//sola lettura x fare query
    118
                Ingredienti_salsiccia[] people = {
    119
                        new Ingredienti_salsiccia("Ingrediente", 1),
    120
                        new Ingredienti_salsiccia("Ingrediente", 2),
    121
                        new Ingredienti_salsiccia("Ingrediente", 3),
    122
                        new Ingredienti_salsiccia("Manuela",3) };
    123
                // Qui dentro si possono mettere le operazioni che potrebbero
    124
                // rallentare il caricamento della listview, come ad sempio il
    125
                // caricamento da db degli oggetti
    126
    127
    128
                return null;
    129
            }
    130
    131
              @<a rel="nofollow" href="https://www.androidiani.com/forum/members/override.html" target="_blank">Override</a>
    132
            protected void onProgressUpdate(Ingredienti_salsiccia... values) {
    133
                // Aggiungiamo il progresso pubblicato all'adapter
    134
                adapter_ingredienti.add(values[0]);
    135
                super.onProgressUpdate(values);
    136
            }
    137
    138
       
    Ultima modifica di Fabriziocolazzo; 21-09-15 alle 20:19

  2.  
  3. #2
    Androidiani Power User L'avatar di Crotan


    Registrato dal
    Jul 2013
    Località
    Roma
    Messaggi
    1,265
    Smartphone
    Redmi Note 9 Pro

    Ringraziamenti
    401
    Ringraziato 1,445 volte in 626 Posts
    Predefinito

    @Fabriziocolazzo, hai copiato ed incollato questa stessa discussione dal forum AndDev ad Androidiani senza aver avuto neppure il riguardo di formattare il codice con il tag Java. Questo comportamento è inaccettabile: provvedi a rendere conforme il tuo post con il Regolamento del Forum oppure procedo con la chiusura e, se si verificherà ancora la stessa situazione, prenderò i dovuti provvedimenti.
    Ultima modifica di Crotan; 23-09-15 alle 18:39

  4. Il seguente Utente ha ringraziato Crotan per il post:

    Fabriziocolazzo (21-09-15)

  5. #3
    Baby Droid


    Registrato dal
    Jul 2015
    Messaggi
    49

    Ringraziamenti
    4
    Ringraziato 2 volte in 2 Posts
    Predefinito

    Corretto.. Scusa Crotan

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