twitter - Can I set custom onClick on my timeline using fabric sdk? -


i creating twitter client using fabric can not create custom onclick. created custom adapter , tried create onclicklistener not working. open in browser tweet.

public class tweetadapter extends tweettimelinelistadapter {      public arraylist<long> tweetids=new arraylist<long>();     public tweetadapter(context context, timeline<tweet> timeline) {         super(context, timeline);     }       @override     public view getview(int position, view convertview, viewgroup parent) {         object rowview = convertview;         final tweet tweet = (tweet)this.getitem(position);         if(convertview == null) {             rowview = new compacttweetview(this.context, tweet);         } else {             ((basetweetview)convertview).settweet(tweet);             ((view)rowview).setonclicklistener(new view.onclicklistener() {                 @override                 public void onclick(view view) {                     tweetids.add(tweet.getid());                 }             });         }         return (view)rowview;     } } 

in basetweetview class function type onclicklistener in case can't think of idea overwrite.

private void setpermalinklauncher() {     basetweetview.permalinkclicklistener listener = new basetweetview.permalinkclicklistener();     this.setonclicklistener(listener);     this.contentview.setonclicklistener(listener); }  class permalinkclicklistener implements onclicklistener {     permalinkclicklistener() {     }      public void onclick(view v) {         if(basetweetview.this.getpermalinkuri() != null) {             basetweetview.this.scribepermalinkclick();             basetweetview.this.launchpermalink();         }     } } 

any ideas? thanks

finally made works using custom adapter (very similar 1 use in question). adapter obtains resulting view super implementation , adds onclicklistener overrides fabric defaults one:

class customtweettimelinelistadapter extends tweettimelinelistadapter {      public customtweettimelinelistadapter(context context, timeline<tweet> timeline) {         super(context, timeline);     }      @override     public view getview(final int position, view convertview, viewgroup parent) {         view view = super.getview(position, convertview, parent);          //disable subviews avoid links clickable         if(view instanceof viewgroup){             disableviewandsubviews((viewgroup) view);         }          //enable root view , attach custom listener         view.setenabled(true);                     view.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                 string tweetid = "click tweetid:"+getitemid(position);                 toast.maketext(context, tweetid, toast.length_short).show();             }         });         return view;     }      //helper method disable subviews     private void disableviewandsubviews(viewgroup layout) {          layout.setenabled(false);          (int = 0; < layout.getchildcount(); i++) {              view child = layout.getchildat(i);              if (child instanceof viewgroup) {                  disableviewandsubviews((viewgroup) child);              } else {                  child.setenabled(false);                  child.setclickable(false);                  child.setlongclickable(false);              }          }      }  } 

full code example here.

hope helps.


Comments

Popular posts from this blog

java - Spring Data JPA: Why findOne(id) executing delete query internally? -

python - Mongodb How to add addtional information when aggregating? -

java - Incorrect order of records in M-M relationship in hibernate -