android - Allow logged in user to click its row -


i struggling following. have list view showing users in belong team. rows contain user's knickname , number of steps walked since every last midnight using google fit sdk.

team table

so see cerberus 33 walked 2342 steps , lenovo 0.

i want logged in user cerberus 33 in phone,to click 1 row i.e. first one,so can see alert dialog leave team button.

here part of code.

i retrieve logged in username , password activity using shared preferences.

sharedpreferences settings =    preferencemanager.getdefaultsharedpreferences(this);     username = settings.getstring("username", "");     password = settings.getstring("password", ""); 

and compare logged in username username database via volley library.

private void getteamplayers(final string teamid, final string username,  final string password) {     string tag_json_obj = "json_obj_req";       final hashmap<string, string> postparams1 = new hashmap<string,    string>();       postparams1.put("team_id", teamid);     postparams1.put("username", username);     postparams1.put("password", password);       response.listener<jsonobject> listener;     response.errorlistener errorlistener;     final jsonobject jsonobject = new jsonobject(postparams1);      //{"team_id":"189","password":"xxx","username":"cerberus 33"}     final jsonarrayrequest jsonobjreq1 = new      jsonarrayrequest(appconfig.url_get_team, jsonobject,             new com.android.volley.response.listener<jsonarray>() {                   @override                 public void onresponse(jsonarray response) {                      log.d("tag", response.tostring());                      try {                          log.d("jsonarray", response.tostring());                           (int = 0; < response.length(); i++) {                             jsonobject item =                          response.getjsonobject(i);                             usertype = item.getstring("user_type");                             username = item.getstring("username");                             teamplayers tm = new teamplayers();                   tm.setlateststeps(item.getstring("latest_steps"));                             tm.setnickname(item.getstring("nickname"));                  tm.setusertype(item.getstring("user_type"));                             string lateststeps =                  item.getstring("latest_steps");                             string usertype =                  item.getstring("user_type");                             int totalsteps =                     integer.valueof(lateststeps);                              log.d("total", "steps: " + totalsteps);                             teamplayerslist.add(tm);                               log.d("username",username);                             log.d("username",username);                     //comparing username(loggin user)                    //with username(username retrieved database)                    if(username.equals(username)) {                                     listview.setonitemclicklistener(new                     adapterview.onitemclicklistener() {                                          @override                                         public void                     onitemclick(adapterview<?> parent, view view, int                     position, long id) {                  toast.maketext(getapplicationcontext(), "it's me!!",                         toast.length_short).show();                 }               });              }          }     } catch (jsonexception e) {              e.printstacktrace();    }      //pdialog.dismiss();                  }             }, new com.android.volley.response.errorlistener() {          @override         public void onerrorresponse(volleyerror error) {             volleylog.d("tag", "error: " + error.getmessage());             //pdialog.dismiss();          }     }) {          @override         public string getbodycontenttype() {             return "application/json; charset=utf-8";         }       };       // adding request request queue     appcontroller.getinstance().addtorequestqueue(jsonobjreq1,      tag_json_obj);   volleysingleton.getinstance(getapplicationcontext()).  addtorequestqueue(jsonobjrequest);  } 

here output.

     [{"latest_steps":"2342","user_type":"leader","nickname":"cerberus         33","username":"cerberus_33@hotmail.com"},       {"latest_steps":"0","user_type":"leader","nickname":"lenovo",      "username":"lenovo@gmail.com"}]       steps: 2342      d/username﹕ cerberus_33@hotmail.com      d/username﹕ cerberus_33@hotmail.com      d/total﹕ steps: 0      d/username﹕ cerberus_33@hotmail.com      d/username﹕ lenovo@gmail.com      d/tag﹕ {"team_steps":"2342"}      d/team steps﹕ 2342 

i understand want user have ability click on own row. suppose have adapter build row of listview. in adapter override method boolean isenabled(int position) enabled desired row.

edit

in adapter add following

@override public boolean isenabled(int position) {     if (position user row) {         return true;     } else {         return false;     } } 

this allow user clik on row return true (position user row). can use listview.setonitemclicklistener() usual.

edit

this both rows disabled now.

 adapter = new customadapter(getapplication(), teamplayerslist){                                 @override                                 public boolean isenabled(int position) {                                     string currentname = teamplayerslist.get(position).getusername();//i'm not sur right getter should                                     //the spirit compare name of user of row name of user want enabled                                     if (currentname.equals(username)) {                                          return true;                                     } else {                                         return false;                                     }                                 }                             };                              }                         listview.setonitemclicklistener(new                           adapterview.onitemclicklistener() {                             @override                             public void onitemclick(adapterview<?>                           parent, view view, int position, long id) {                          toast.maketext(getapplicationcontext(),"it's                          me",toast.length_short).show();                             }                         }); 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -

How to provide Authorization & Authentication using Asp.net, C#? -