【问题标题】:Change the color of text in textview in table row on row click在行单击时更改表格行中文本视图中文本的颜色
【发布时间】:2012-08-17 10:02:54
【问题描述】:

我有一个表格,其中一些行具有 textview 和 imageview。我正在使用选择器可绘制更改单击时行的背景。我还需要更改单击时文本和 imageview 图像的颜色。我尝试使用选择器对于 here 中解释的 textview

文本视图的颜色需要在单击父表行时更改,而不是在单击文本视图时更改。更改的颜色不应持续存在。它应该只是选定行单击的指示

但它似乎不起作用。任何帮助将不胜感激

【问题讨论】:

    标签: android


    【解决方案1】:

    实现此目的的一种简单方法是在您的 xml 中为 textview 设置 onClick 属性

    android:onClick="changeColor"
    

    那么在view所属的activity中就有一个方法

    public void changeColor(View v){
        v.setBackgroundColor(color);
    }
    

    v 将是调用changeColor() 方法的视图(因此它是您要更改颜色的视图)

    您可以扩展它(或编写其他方法设置为其他视图的 onClick 方法)以通过将 v 转换为适当的视图来更改其他视图的属性(即 TextView 更改文本颜色,或 ImageView 更改图像可绘制)

    如果您想确切地找到调用该方法的视图,您可以打开 v.getId(),其中 case 语句是在 R 中设置的 id,即您使用 android:id="@+id/name 属性设置的那些

    【讨论】:

    • 点击父行而不是textview时颜色应该改变。我不需要坚持颜色。所以我认为改变后面的java代码不是正确的解决方案
    • 对不起,我掩盖了你说你使用选择器的部分。你能不能把你的 XML 贴出来让我们看看你到底在做什么?
    【解决方案2】:

    为表格行设置 OnTouchListener,如android TextView : Change Text Color on click

    在 ontouch 事件中,从行中获取 textview 子项并更改其颜色..

    【讨论】:

      猜你喜欢
      • 2014-06-29
      • 2011-04-11
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-30
      • 1970-01-01
      相关资源
      最近更新 更多