android - Android 中可点击的 TextView

标签 android textview

我正在构建一个 Android 应用程序,其中包含许多我希望可点击的 TextView。 我尝试将属性 android:clickable="true"android:onClick="clickHandler" 分配给单个 TextView 以及何时该应用程序触发 clickHandler(View v) 我通过 v.getId() 正确获取了点击的项目。 我不喜欢的是为每个 TextView 定义属性 android:clickableandroid:onClick ...有什么东西我可以通过代码说:“所有 TextView 都是可点击的,点击是在 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; 
  } 
}

关于android - Android 中可点击的 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4613333/

相关文章:

php - 使用 mysql 连接 android 和 php 时发生错误

安卓透明文字

android - 在 Android 中设置 TextView 背景时消失的文本

android - xml图像占用了太多内存 - android

java - Android Studio错误 "cannot resolve method"

android - Android 4+ 浏览器上固定 header 上方的间隙

android - Realm 梯度任务

java - 字符串在阿拉伯语中显示为单独的字母

android - 如何根据 View 最大尺寸自动调整多行 TextView 上的文本大小?

java - Android Studio 无法识别我的任何 TextView