Android中的可点击文本视图

Android中的可点击文本视图,android,textview,Android,Textview,我正在构建一个Android应用程序,它有许多我想要点击的文本视图。 我尝试将属性android:clickable=“true”和android:onClick=“clickHandler”分配给单个TextView,当应用程序启动clickHandler(View v)时,我通过v.getId()正确获取单击的项目。 我不喜欢为每个TextView定义属性android:clickable和android:onClick。。。我是否可以通过代码说:“所有的文本视图都是可点击的,点击是在cli

我正在构建一个Android应用程序,它有许多我想要点击的文本视图。 我尝试将属性
android:clickable=“true”
android:onClick=“clickHandler”
分配给单个
TextView
,当应用程序启动
clickHandler(View v)
时,我通过
v.getId()
正确获取单击的项目。 我不喜欢为每个
TextView
定义属性
android:clickable
android:onClick
。。。我是否可以通过代码说:“所有的文本视图都是可点击的,点击是在
clickHandler
中处理的?”


谢谢。

您可以执行以下操作-这样它们都有相同的处理程序:

public class sticks extends Activity implements View.OnTouchListener { 
  private TextView tv1; 
  private TextView tv2;
  private TextView tv3;

  @Override 
  public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    tv1 = (TextView) findViewById(R.id.tv1); 
    tv2 = (TextView) findViewById(R.id.tv2); 
    tv3 = (TextView) findViewById(R.id.tv3); 

    // bind listeners
    tv1.setOnTouchListener(this); 
    tv2.setOnTouchListener(this); 
    tv3.setOnTouchListener(this); 

  } 

  @Override 
  public boolean onTouch(View v, MotionEvent event) { 
    // check which textview it is and do what you need to do

    // return true if you don't want it handled by any other touch/click events after this
    return true; 
  } 
}

我使用OnClickListener,请尝试使用它,而不是OnTouchListener。以下是我使用的。

        <TextView
            android:id="@+id/txtTermsConditions"
            android:layout_width="180dp"
            android:layout_height="50dp"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="10dp"
            android:onClick="onTermConditions"
            android:clickable="true"
            android:focusable="true"
            android:text="Terms and Conditions"
            android:textColor="@color/blue" />

您好,您必须同时使用以下两种代码:

  <TextView
        android:id="@+id/reg_text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/login_btn"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="10dp"
        android:clickable="true"
        android:text="Are you now need to create an account?"
        android:textColor="#ff0000ff"
        android:textSize="15sp"
        />

以下代码适用于我:

添加到strings.xml:

 <string name="about_us"><font fgcolor="#039BE5">\"THIS IS SPARTA! more info at" <font fgcolor="#000000"><a href="https://google.com/">google.com</a></font>
</string>
添加到活动中:

about_us.movementMethod = LinkMovementMethod.getInstance()

这是工作代码还是伪代码?无法让它按原样工作。但无论如何,tks!向上投票!:)在本例中,android:textColorLink不执行任何操作,除非文本包含实际的超链接。还需要
android:focusable=“true”
,根据Linter,这仍然为每个textview设置了act,这是@Cris希望避免的。。。您应该详细介绍一下movementMethod(一个有趣的解决方案)
android:linksClickable="true"
about_us.movementMethod = LinkMovementMethod.getInstance()