title: Android Multiple clickable strings in textview
body: <p>I am creating a small Android app. I would like to display a text in a textview with multiple parts to click on. (Each should show some different message)</p>
  
  <p>Finally I managed to find out how to display mutiple spans in one textview, however unfortunately the onClick methods don't work. Simply nothing happens, not even a logcat line.</p>
  
  <p>I have something like this:</p>
  
  <pre><code>SpannableStringBuilder ssb=new SpannableStringBuilder();
  ssb.append("first  second")
  
  ssb.setSpan(new ClickableSpan() {
      @Override
      public void onClick(View v) {
      //Eredmeny2.this is just the context, name of the whole class
      Toast.makeText(Eredmeny2.this, "first", Toast.LENGTH_LONG).show();
      }
  }, 1, 3, 0);
  
  ssb.setSpan(new ClickableSpan() {
      @Override
      public void onClick(View v) {
      Toast.makeText(Eredmeny2.this, "second", Toast.LENGTH_LONG).show();
      }
  }, 7, 10, 0);
  
  TextView t1=new TextView(this);
  t1.setText(ssb);
  ...
  </code></pre>
  
  <p>The text is underlined fine, but nothing happens when i click them.
  It is a part of a TableView, although I do not think this is relevant. Do you have any ideas why it does not do anything? What do I miss? Or should I do it on some totally different way?</p>
  
  <p>Thanks in advance.</p>
  
  <hr>
  
  <p>The layout file this part would use is the following:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
      android:id="@+id/ScrollView01"
      android:background="#FF0000"&gt;
  
  
      &lt;TableLayout
          android:id="@+id/TableLayout01"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:stretchColumns="0"
          android:showDividers="middle"
          android:padding="3dp"&gt;
      &lt;TableRow
          android:id="@+id/TableRow01"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"&gt;
  
          &lt;TextView
              android:id="@+id/TextView01"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:layout_marginRight="3dp"
              android:background="#000000"
              android:textColor="#FFFFFF"
              android:padding="6dp"
              android:text="Hour"
              android:textSize="20sp"
              android:textStyle="bold" &gt;
  
          &lt;/TextView&gt;
          &lt;TextView android:id="@+id/TextView02"
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
              android:textSize="20sp"
              android:textStyle="bold"
              android:text="Minute"
              android:padding="6dp"
              android:textColor="#FFFFFF"
              android:background="#000000"&gt;
          &lt;/TextView&gt;
  
      &lt;/TableRow&gt;
  
      &lt;/TableLayout&gt;
  
  
  &lt;/ScrollView&gt;
  </code></pre>
  
  <p>And the TextView layout that the TextView uses directly is the following:</p>
  
  <pre><code>&lt;TextView xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/tv" 
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content"
  android:padding="10dp"
  android:textSize="16sp"
  android:background="#000000"
  android:textIsSelectable="false"
  android:textColor="#FFFFFF"&gt;
  &lt;/TextView&gt;
  </code></pre>