Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 1.29 KB  |  hits: 6  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Pattern pattern = Pattern.compile("^([a-zA-Z\\d-])*\\b");
  2. Matcher pMatcher;
  3.  
  4. TextView tt = (TextView)feedEntry.findViewById(R.id.feedEntry);
  5. pMatcher = pattern.matcher(entryTitle);
  6.  
  7. SpannableString titleSpan = new SpannableString(entryTitle);
  8.  
  9. pMatcher.find();
  10.  
  11. titleSpan.setSpan(new InternalURLSpan(new OnClickListener(){
  12.                                         @Override
  13.                                         public void onClick(View v) {
  14.                                     //do something here
  15.                                         Log.v(TAG,"clicked");
  16.                                         }
  17.                                 }), pMatcher.start(), pMatcher.end(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  18.  
  19. tt.setText(titleSpan, TextView.BufferType.SPANNABLE);
  20.  
  21.  
  22. =======================================================
  23.  
  24. I've set android:linksClickable="true" on the textview.
  25. If this info would help, I have implemented onClick in my Activity instead of creating onClick listeners seperately. (so i have my onClick() method in my activity). Would it be that which is causing the problem?
  26.  
  27. =======================================================
  28.  
  29. static class InternalURLSpan extends ClickableSpan {
  30.         OnClickListener mListener;
  31.  
  32.         public InternalURLSpan(OnClickListener listener) {
  33.                 mListener = listener;
  34.         }
  35.  
  36.         @Override
  37.         public void onClick(View widget) {
  38.                 mListener.onClick(widget);
  39.         }
  40. }