Home > DeveloperSection > Forums > Setting extra variables to a buttonclicklistener in listview
Pooja Malohtra
Pooja Malohtra

Total Post:47

Points:331
Posted on    January-23-2015 10:16 PM

 Mobile Development Android  Java  Android Listview 
Ratings:


 1 Reply(s)
 870  View(s)
Rate this:

in my app i have a listview(asynctask) getting all the users from external database. Each row of my listview contains an image that the user can interact. When user presses that image i try to start a new intent by using the data that i already have(by using putExtra while starting the intent.) Listview works fine - it gathers all the data from database. But, the putExtra values are same for each row. I will appreciate if you can help me regarding that matter.

Code is as follows; The important part is below

ImageView showlastonmap = (ImageView)v.findViewById(R.id.showlastonmap);

where i try to add putExtra.

 @Override

    protected void onPostExecute(JSONObject json) {

        pDialog.dismiss();

        try {

 

            if (json.getString(KEY_SUCCESS) != null) {

                String res = json.getString(KEY_SUCCESS);

 

                //Invitation count

 

                Integer inv =  json.getInt("invitation");

                setNotifCount(inv);

 

                if(Integer.parseInt(res) == 1) {

 

                    // Getting JSON Array from URL

 

                    android1 = json.getJSONArray(TAG_LOCATIONDATA);

                    for (int i = 0; i < android1.length(); i++) {

                        JSONObject c = android1.getJSONObject(i);

 

                        // Storing  JSON item in a Variable

                        final String ver = c.getString("username");

                        final String dataenlem = c.getString("enlem");

                        final String databoylam = c.getString("boylam");

                        final String datazaman = c.getString("zaman");

 

                        /*----------to get City-Name from coordinates ------------- */

                        StringBuffer address = new StringBuffer();

                        Geocoder gcd = new Geocoder(getBaseContext(), Locale.getDefault());

                        List<Address> addresses;

                        try {

                            addresses = gcd.getFromLocation(Double.parseDouble(dataenlem), Double.parseDouble(databoylam), 1);

 

                            if (addresses.size() > 0)

                               // System.out.println(addresses.get(0).getLocality());

 



Andrew Watson
Andrew Watson

Total Post:39

Points:273
Posted on    January-23-2015 10:31 PM

you should do :

 Intent login = new Intent(getApplicationContext(),

           HaritaLastSolo.class);

         login.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

           login.putExtra("enlem", oslist.get(position).get("enlem"));

           login.putExtra("boylam", oslist.get(position).get("boylam"));

          startActivity(login);


Don't want to miss updates? Please click the below button!

Follow MindStick