Lista elem id-jének küldése Android

Lista elem id-jének küldése Android
2012-01-06T13:16:26+01:00
2012-01-25T23:31:57+01:00
2022-11-24T11:41:54+01:00
marbo
Sziasztok!
Lehet nem pont jó a témám neve. Van egy olyan feladat, hogy a szerver adatbázisából (php) kérem le az adatokat, amelyeket egy listába teszek. Azt szeretném megcsinálni, hogy ha valamelyik elemre rákattintok, akkor annak az elemnek az id-jét küldje át egy másik oldalra, ahol az id-hez tartozó adatokat kiíratom.
Mellékelném a kódot is:

public class digitalIndexProba extends ListActivity { private static String myIndex; private static String id; private static String ida; private static String name; private static String address; private static String lat; private static String lng; private static String type; private static String markersids; private static String dataStore[]; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String result = null; InputStream is = null; StringBuilder sb = null; ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); List<String> r = new ArrayList<String>(); try{ //http post HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://****"); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); HttpResponse response = httpclient.execute(httppost); HttpEntity entity = response.getEntity(); is = entity.getContent(); } catch(Exception e){ Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show(); } //Convert response to string try { BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8")); sb = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); result = sb.toString(); } catch(Exception e) { Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show(); } //END Convert response to string try{ JSONArray jArray = new JSONArray(result); JSONObject json_data=null; for(int i=0;i<jArray.length();i++) { json_data = jArray.getJSONObject(i); id=json_data.getString("id"); name=json_data.getString("name");address=json_data.getString("address"); lat=json_data.getString("lat"); lng=json_data.getString("lng"); type=json_data.getString("type"); r.add(id); } setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, r)); } catch(JSONException e1){ Toast.makeText(getBaseContext(),e1.toString() ,Toast.LENGTH_LONG).show(); } catch (ParseException e1) { Toast.makeText(getBaseContext(),e1.toString() ,Toast.LENGTH_LONG).show(); } } @Override public void onListItemClick(ListView parent, View v, int position, long idd) { setState(id); Intent i=new Intent(digitalIndexProba.this,digitalPharmacy.class); startActivity(i); } public static String getState(){ return myIndex; } public static void setState(String ind){ myIndex = ind; } }
Az lenne a problémám, hogy az adatbázisból csak az utolsó elemet íratja ki a másik oldalon, nem pedig azt amire rákattintok. Tudna valaki segíteni, hogy mit változtassak a kódon?
Előre is köszönök minden hozzászólást.
Mutasd a teljes hozzászólást!
Akkor tedd egy listába az id-kat és az idd alapján keresd vissza amikor rákattintanak egy elemre.
Mutasd a teljes hozzászólást!

  • Mert a függvényparaméter neve idd, te meg az id-t adod meg neki, ami nyilván az utolsóét tárolja.
    Egyébként meg javasolom az Intent putExtras(), getExtras() metódusait az Activityk közötti adatcserére, itt a getterek használata nem szerencsés.
    Mutasd a teljes hozzászólást!
  • Bocsi, hogy csak most reagálok.
    Azért nem az idd nevű függvényparamétert adtam meg, mert ha az ha jól tudom, akkor a listában való pozicióját adja meg, szóval ha rákattintok az első elemre, akkor az sql adatbázis 1es id-jű elemét és annak adatait írná ki. Nekem meg nem föltétlen id alapján van kilistázva az adatbázis elemei, szóval nem biztos, hogy a listában az első helyen az 1es id-jű elem lesz.
    Huu, kicsit bonyolultan fogalmaztam...
    Mutasd a teljes hozzászólást!
  • Akkor tedd egy listába az id-kat és az idd alapján keresd vissza amikor rákattintanak egy elemre.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd