尝试获取 activity 上下文时出错

Error when trying to get activity context

出于某种原因,我无法获取 activity 的上下文。 注意 - 它之前可以正常工作,但现在 Android Studio 显示错误但不会停止我的应用程序编译,并且 运行 如预期的那样。我已经进一步添加了我的代码,但最终我认为问题出在其他地方,因为如果我尝试在新的空 activity 中获取 activity 上下文,我会收到错误消息。

package com.example.myapp

public class TestActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);
        Context context = this; // Error here
    }
}

错误是:

Incompatible types.
Required: android.content.Context
Found: com.example.myapp.TestActivity

这个错误只发生在这个项目上。我对答案的搜索没有产生积极的结果。事实上,我找不到任何关于我面临的确切问题的信息。 我试图解决这个问题:

  1. this 而不是 MainActivity.this - 与上述相同的错误
  2. getApplicationContext() - 无法解决方法错误
  3. getActivity().getApplicationContext() - 与#2
  4. 相同的错误
  5. 清理并重建项目/将项目与 Gradle 文件同步
  6. 正在重新启动 Android Studio
  7. Android Studio 版本 2.3.3 和 3.0 - 相同问题

我是 Android 开发的新手,所以如果您有适合我的解决方案,请尽可能简单地表述。提前致谢。这是我的代码 - 我在 onClick 方法中收到错误 MainActivity.this:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Find the View that shows the Numbers category
        TextView numbers = (TextView) findViewById(R.id.numbers);

        // If View is present, set a click listener on that View
        if(numbers != null) {
            numbers.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent numbersIntent = new Intent(MainActivity.this, NumbersActivity.class);
                    startActivity(numbersIntent);
                }
            });
        }
    }
}

我找到了一个解决方案,那就是将 google() 添加到我项目的 build.gradle 文件中,如下所示:

allprojects {
    repositories {
        jcenter()
        google()
    }
}

我还删除了该项目并再次克隆它,以便它可以从头开始构建。不确定是否有帮助。