2012-07-10 91 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回答你想要什么,但请记住,这是很难得到这样的成分权的可用性。很有可能某处的某个人无法点击链接,特别是如果文本位于多行,并且链接的文字彼此垂直。

我会反对这样的解决方案。

相关问题