由于某种原因,我无法获得我的活动背景。 注意 - 之前有效,但现在Android Studio显示错误但未停止我的应用编译并按预期运行。我已将代码进一步向下添加,但最终我认为问题出在其他地方,因为如果我尝试在新的空活动中获取活动上下文,则会出现错误。
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.android.spanish.TestActivity
此错误仅发生在此项目中。我对答案的搜索没有产生任何积极结果。事实上,我无法找到与我面临的确切问题有关的任何内容。 我试图解决这个问题:
this
代替MainActivity.this
- 与上面相同的错误getApplicationContext()
- 无法解决方法错误getActivity().getApplicationContext()
- 与#2相同的错误我是Android开发的新手,所以如果您有解决方案,请尽可能简单地说出来。提前致谢。这是我的代码 - 我在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);
}
});
}
}
}
答案 0 :(得分:0)
我找到了一个解决方案,那就是将google()
添加到我项目的build.gradle文件中,如下所示:
allprojects {
repositories {
jcenter()
google()
}
}
我还删除了项目并再次克隆它,以便它可以从头开始构建。不确定这是否有帮助。