争论这不起作用。 [必需:'android.content.context'

时间:2016-03-05 16:25:30

标签: android android-context

我用这个:

actionBar.setBackgroundColor(ContextCompat.getColor(this, R.color.action_bar));

使用color.xml中的颜色。

效果很好,但在某些代码中却说:

Wrong 1st argument type. Found: 'org.telegram.ui.ActionBar.BaseFragment', required: 'android.content.Context'

但是我导入了android.content.Context:

import android.content.Context;

我尝试使用而不是'this':

actionBar.setBackgroundColor(ContextCompat.getColor(context, R.color.action_bar));

但是比Android Studio说:

Cannot resolve symbol 'context'

3 个答案:

答案 0 :(得分:5)

使用

getActivity().getApplicationContext()

而不是

this

答案 1 :(得分:1)

Fragment不是Context的子类型。

当片段内部使用时:

ContextCompat.getColor(getContext(), R.color.action_bar)

在活动中,您可以使用:

ContextCompat.getColor(this, R.color.action_bar)

答案 2 :(得分:1)

使用:

val directoryToFile = (for {
    path <- awsClient.listFiles(uploadPath)
    if !path.endsWith("/")
    regex(dir, date) <- regex.findFirstIn(path)
} yield dir -> date).sortBy(_._2).toMap