更改按钮文字颜色Android M.

时间:2015-12-17 16:54:44

标签: android button android-context android-6.0-marshmallow

好的,所以我需要在点击后更改两个按钮的文字颜色,我就是这样:

manButton.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            manButton.setTextColor(getApplication().getResources().getColor(R.color.selectedGender));
            womanButton.setTextColor(getApplication().getResources().getColor(R.color.unselectedGender));
        }
    });

但是方法getColor()看起来从Android M开始被弃用,而我的应用程序只是用于Android棒棒糖和更高版本我需要解决这个问题。我一直在网上搜索,我发现因为Android M从xml中获取颜色你必须使用:ContextCompat.getColor(context, R.color.my_color)我已经尝试过了,但它说它无法解析符号上下文,我也尝试将context更改为this,因为它位于一个Activity中,但它给了我这个错误:

 Wrong 1st argument type. Found: 'android.view.View.OnClickListener', required: 'android.content.Context' 

getColor(android.content.Context,int) in ContextCompat cannot be applied to (anonymous android.view.View.OnClickListener,int)

那么,我该怎么办? 非常感谢!

1 个答案:

答案 0 :(得分:2)

  

那么,我该怎么办?

this替换为WhateverYourActivityNameIs.this,其中WhateverYourActivityNameIs是您的活动类名称。