好的,所以我需要在点击后更改两个按钮的文字颜色,我就是这样:
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)
那么,我该怎么办? 非常感谢!
答案 0 :(得分:2)
那么,我该怎么办?
将this
替换为WhateverYourActivityNameIs.this
,其中WhateverYourActivityNameIs
是您的活动类名称。