使用findViewById时模棱两可的方法调用

时间:2018-09-10 07:25:15

标签: android android-studio build.gradle

我的活动扩展了活动_1 ,活动_1扩展了 AppCompatActivity。

使用得很好,但SDK版本升级存在问题。以前的版本是23,现在已提高到26。

使用“ findViewById”时发生错误,方法调用不明确。

这是我的build.gradle。

android {

   compileSdkVersion 26

   buildToolsVersion 26.0.2


default {

   targetSdkVersion 26

}

}

dependencies {
   compile 'com.android.support:appcompat-v7:26.0.0-alpha1
}

这是Activity_1

public abstract class Activity_1 extends AppCompatActivity {

public <T extends View> T findViewById(int id) {

   return this.a.getPublisherRootView().findViewById(id);

}

这是AppCompatActivity中的findViewById。

@Overrid

public View findViewById(@IdRes int id) {

   return getDelegate().findViewById(id);

}

为什么会出现此错误?

我已经完成了“使缓存无效/重新启动”和“使用Gradle文件同步项目”。但是这些方法不起作用。

  • 为了安全起见,我正在离线模式下使用Android Studio。

这是整个app.gradle

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.2"

    defaultConfig {
        applicationId "com.test.test"
        minSdkVersion 15
        targetSdkVersion 26
    }
    dexOptions {
        jumboMode true
        javaMaxHeapSize "5g"
    }
}

repositories {
    flatDir {
        dirs 'libs'
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support.appcompat-v7:26.0.0-alpha1'
}

2018年。 09. 10项目build.gradle已添加

buildscript {
  repositories {
    jcenter()
   }
   dependencies {
      classpath 'com.android.tools.build:gradle:2.3.3'
   }
}

allprojects {
   repositories {
      jcenter()
   }
}

0 个答案:

没有答案