2012-07-10 66 views
0

我有一個TextView有兩種不同的顏色。這裏如果我點擊迷你它應該重定向到一個活動,如果我點擊metro重定向到另一個活動。我怎樣才能做到這一點?onclicklistener textView android

TextView t = (TextView)v.findViewById(R.id.text); 
String text = "<font color=#000000><b>"+"mini"+"</b></font><font color=#000000> added </font><font color=#1569C7>"+"Metro"+"</font><font color=#000000> as a favourite.</font>"; 
t.setText(Html.fromHtml(text)); 
+0

有沒有簡單的解決方案。如果您使用的是TextView而不是WebView,那麼您需要先確定點擊點的座標(onClickListener在這裏可能沒有幫助 - 您需要使用Touch事件),並確定文本在文本視圖。 – 2012-07-10 08:07:00

回答

0

論TextView的你必須要找到它的文本,您可以使用gettext屬性點擊監聽只是比較的文本,並打開活動按文本。

+1

這沒有幫助。他想要區分textview不同部分的點擊次數。 – 2012-07-10 08:05:56

+0

哦......我以爲一次只有一個文字 – user 2012-07-10 08:07:45

0

onclick聽衆我想試試這個:

if (text.equalsIgnoreCase("mini")) { 
    // call your next activity here 
} else if(text.equalsIgnoreCase("metro")) { 
    // call your next activity here 
} 

不要忘記設置android:clickable="true"在TextView中的XML文件。

+2

這沒有幫助。請仔細閱讀問題。 OP想要區分textview不同部分的點擊。 – 2012-07-10 08:09:15

+0

抱歉,錯誤的答案... – 2012-07-10 08:31:03

2

您可以做的是創建一個自定義類,它可以擴展ClickableSpan並管理可點擊的文本。我回答了相同的here

+1

+1好的建議!!! :) – 2012-07-10 08:21:02

0

我認爲你可以在兩種不同的顏色和文本的線性佈局中使用兩個textview。然後你可以實現onClicklistener()兩個文本視圖。你會達到你想要的,看起來和你所期望的一樣。

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
<TextView 
    android:id="@+id/text1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_below="@+id/settings" 
    android:layout_marginTop = "10dip" 
    android:padding="3dip" 
    android:text="@string/txt1" 
    android:textColor="#000000" 
    android:textSize="25sp" 
    android:textStyle="bold" /> 

<TextView 
    android:id="@+id/text2" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_centerHorizontal="true" 
    android:layout_below="@+id/settings" 
    android:layout_marginTop = "10dip" 
    android:padding="3dip" 
    android:text="@string/txt2" 
    android:textColor="#1569C7" 
    android:textSize="25sp" 
    android:textStyle="bold" /> 

</LinearLayout> 

希望它可以幫助

0

This回答你想要什麼,但請記住,這是很難得到這樣的成分權的可用性。很有可能某處的某個人無法點擊鏈接,特別是如果文本位於多行,並且鏈接的文字彼此垂直。

我會反對這樣的解決方案。