Android选择器文本颜色

Android选择器文本颜色,android,button,colors,Android,Button,Colors,我已经考虑了太多的StackOverflow问题,但仍然无法让它工作 我动态地(以编程方式)在我的活动上创建了许多按钮。我需要使用选择器来更改背景和文本颜色,具体取决于按钮是否按下 当按下时,我的背景会从黑色变为白色,但我似乎无法改变文本的颜色(或为此进行设置)——它只是默认为黑色 这是我得到的 Java文件: monthButtons[i].setBackgroundResource(R.drawable.button_background); monthButtons[i].setTextC

我已经考虑了太多的StackOverflow问题,但仍然无法让它工作

我动态地(以编程方式)在我的活动上创建了许多按钮。我需要使用选择器来更改背景和文本颜色,具体取决于按钮是否按下

当按下时,我的背景会从黑色变为白色,但我似乎无法改变文本的颜色(或为此进行设置)——它只是默认为黑色

这是我得到的

Java文件:

monthButtons[i].setBackgroundResource(R.drawable.button_background);
monthButtons[i].setTextColor(R.color.text_color);
button_background.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true" 
        android:drawable="@color/white"/>

    <item android:drawable="@color/black"/>        
</selector>

text_color.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
        android:textColor="@color/black" />
    <item
        android:textColor="@color/white" />
 </selector>

有人能告诉我当按下按钮时改变文本颜色的方法吗?请记住,我没有在这些按钮的布局文件中定义任何内容


谢谢

为什么不使用一个背景xml呢?像这样:

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_pressed="true" 
    android:drawable="@color/white"
    android:textColor="@color/black" />

<item android:drawable="@color/black"
      android:textColor="@color/white"/>        
</selector>//Untested
您可以使用动态更改文本颜色:

好的,它与onTouchListener一起工作。已将onClickListener用于其他事件。谢谢。我的文本颜色不变。你确定这能正常工作吗?不行。对背景和文本颜色使用两个选择器,效果良好
button.setOnTouchListener(new OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN )
    {
        button.setBackground("#000");
        edittext.setTextColor("#dedede");
        return true;
    }
    else
    {
        button.setBackground("#dedede");
        edittext.setTextColor("#000");
        return true;
    }
 return false;
})); // Untested. Sorry i'm away from pc :(