代码适用于Android工作室模拟器,但不适用于我的Android手机

时间:2016-11-26 13:20:41

标签: android android-emulator android-recyclerview

当我使用Android Studio模拟器(Nexus 4 API 23)模拟我制作的应用时,它的效果非常好。但是,当我使用我的手机(三星SM-G3502T Android 4.3 API 18)模拟相同的应用程序时,它会陷入以下代码:

.some_class + .some_class

Logcat说:

    if(activity instanceof CategoriaListaActivity) {
        boolean isSelected = (categoriaSelectedId == item.getCodigo());
        ((CategoriaViewHolder)holder).getNomeTextView().setTextColor(isSelected ? activity.getColor(R.color.colorPrimaryDark) : activity.getColor(R.color.colorAccent));
    } 

我该如何解决?

2 个答案:

答案 0 :(得分:0)

您正在调用API> = 23(documentation)中提供的方法,但您的移动设备仅提供已弃用的方法(documentation)。要解决此问题,您应该使用support-v4库中的ContextCompat.getColor(Context, int)

答案 1 :(得分:0)

您正在使用需要API 23及更高版本的调用,并且在具有API 23的模拟器上进行测试时可以,但您没有在较低的API上使用它

这是需要API 23的电话

activity.getColor(int id);