Android:传递 "Clicked"状态?

标签 android android-layout

我在对话框内使用线性布局,并且在该布局内有一些 TextView,我还想根据作为其父级的布局的“按下”状态更改颜色。他们有一个关于它们应该是什么颜色的状态列表,但似乎当布局被点击时,它下面的 View 没有给出“点击”状态。

如何让 TextView 在点击其父布局时改变颜色?

最佳答案

最简单的方法就是将事件向下传递到任何 subview 中。您可以扩展 TextView 并添加一个可以从布局的 onclick 处理程序调用的方法。

class MyTV extends TextView{

  public MyTV(Context c){
    //constructor gets context in case you want to make instances from code rather than XML
  }
  public doSomethingToMe(){
     //do stuff to this View from outside
  }
}

然后在您的 Activity 中...

public void layoutClicked(View v){ //call this from your layout click
   ((MyTV)findViewById(R.id.myTV1)).doSomethingToMe();
}

关于Android:传递 "Clicked"状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9169371/

相关文章:

android - qt-creator android部署错误

android - 在 Android 4.0.3 上流式传输 m3u8 播放列表

android - Viewpager 的静态页眉和页脚

android-layout - 如何以百分比设置 DialogFragment 的宽度?

用于小型 2D 游戏的 Android 库

java - 在 Android Java 编程中,如何从其祖先查看子 Activity?

android - 导入 aar 后出现 NoClassDefFoundError

Android CameraX GLSurfaceView

Android:如何设置相对于 PercentLayout/ConstraintLayout 的文本字体大小

android - 防止 Snackbar 在点击操作时关闭