我无法使用ContextCompat对象调用getColor方法。它不会让我传递getContext()作为它的第一个参数

时间:2017-02-07 10:42:34

标签: android

所以这就是我正在做的事情。下面的语句是int return type方法的最后一行。

return ContextCompat.getColor(getContext(),magColor);

错误说我通过了错误的第一个参数。 确切地说:

  

错误的第一个参数类型。发现:' java.security.AccessControlContext',   必需:' android.content.Context'

整个方法:

public int getMagnitudeColor(double mag) {
  int magColor;
  int mag1=(int) mag;
  switch (mag1) {
    case 1:
      magColor = R.color.magnitude1;
      break;
    case 2:
      magColor = R.color.magnitude2;
      break;
    case 3:
      magColor = R.color.magnitude3;
      break;
    case 4:
      magColor = R.color.magnitude4;
      ;
      break;
    case 5:
      magColor = R.color.magnitude5;
      break;
    case 6:
      magColor = R.color.magnitude6;
      break;
    case 7:
      magColor = R.color.magnitude7;
      break;
    case 8:
      magColor = R.color.magnitude8;
      break;
    case 9:
      magColor = R.color.magnitude9;
      break;
    default:
      magColor = R.color.magnitude10plus;
      break;
  }
  return ContextCompat.getColor(getContext(),magColor);
}

2 个答案:

答案 0 :(得分:1)

这是因为您的a位于:

title.css('a::attr(title)')

不是getContext()

您需要使用return ContextCompat.getColor(getContext(),magColor); android.content.ContextActivityService中的上下文。

如果使用自定义类,则需要将上下文传递给类。

答案 1 :(得分:0)

我做到了,它行得通,1行

.NET Framework version

其中“ listViewPalabrasLinearLayout”是布局的ID,“ color”是我指定颜色的变量