ho il seguente codice che mi permette di visualizzare una lista di dati prelevati da un DB MYSQL.
Cliccando su ogni item si apre un alert dove chiede se Accettare l'invito o rifiutarlo a seconda della scelta si aggiorna il record nel DB.
Fino all'apertura e al click della scelta ci sono.
Adesso ho settato manualmente un id per prova e funziona.
il problema è come faccio ad inviare anche l'id quando clicco su Accetta o Rifiuta nell'alert?
Come posso recuperare l'id dell'item selezionato?
Grazie
codice:................................................ privatevoid updateEmployee(){ finalString id ="4"; finalString accept ="Accept"; class UpdateEmployee extends AsyncTask<Void,Void,String>{ ............................................ @Override protectedString doInBackground(Void... params){ HashMap<String,String> hashMap =new HashMap<>(); hashMap.put(Config.KEY_EMP_ID,id); hashMap.put(Config.KEY_EMP_ACCETTA,accept); RequestHandler rh =new RequestHandler(); String s = rh.sendPostRequest(Config.URL_ACCEPTINVITES_EMP,hashMap); return s; } } UpdateEmployee ue =new UpdateEmployee(); ue.execute(); } @Override publicvoid onItemClick(AdapterView<?> parent, View view, int position, long id){ AlertDialog.Builder a_builder =new AlertDialog.Builder(ViewInviti.this); a_builder.setMessage("What do you want to do?") .setCancelable(false) .setPositiveButton("Accept",new DialogInterface.OnClickListener(){ @Override publicvoid onClick(DialogInterface dialog, int which){ updateEmployee(); } }) .setNegativeButton("Decline",new DialogInterface.OnClickListener(){ @Override publicvoid onClick(DialogInterface dialog, int which){ declineEmployee(); } }); AlertDialog alert = a_builder.create(); alert.setTitle("What do you want to do?"); alert.show(); } }
Oppure pensate che sia meglio inserire due pulsanti (accetta/Rifiuta) nella listView al posto dell'alert?

Rispondi quotando