java - 我正在尝试在我的 android 应用程序中添加一个微调器
问题描述
我正在尝试向我的 android 应用程序添加一个微调器,但给了我这个错误(编译失败;有关详细信息,请参阅编译器错误输出。)当光标位于下方时,这部分(MainActivity.this,)下方有一条红线它说“com.example.myapplication.MainActivity”不是封闭类。我是从另一个活动而不是主要活动中这样做的。MainActivity 没有变化。AddEmployee 类
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add_employee);
Spinner myspinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter myAdapter = ArrayAdapter.createFromResource(MainActivity.this, R.array.types, android.R.layout.simple_list_item_1);
myAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
myspinner.setAdapter(myAdapter);
}
解决方案
createFromResource
的第一个参数是上下文。您可以通过两种方式获取上下文:
- 应用环境:
getApplicationContext()
- 活动的上下文:
ActivityName.this
应用程序上下文是项目的一般上下文,您可以从所有活动中获取它。活动上下文特定于活动。因此,您只能从它自己的活动中访问它。您尝试从另一个活动访问活动上下文,因此出现此错误。您可以尝试getApplicationContext()
或AddEmployee.this
推荐阅读
- java - 为什么编译器不会产生重复的错误?
- java - Java - 应用插件与插件之间的区别
- python - 如何动态访问 ForeignKey 对象的属性
- hibernate - 使用带有 Hibernate JPA 的类时找不到地址映射
- excel - 使用 VBA 的 TCP 原始套接字
- ios - 是否可以在真实的 ios 设备中创建本地文件夹?
- android - ImageView 在 Android Studio 中放入 GridLayout 时会缩小
- java - 使用 java 访问 json 对象中的列表
- node.js - 从 Node 中的级别 db 返回数据时,Hapijs 抛出“无法抛出非错误对象错误”
- mfc - 如何在 CDHtmlDialog 中加载 html 文本?