首页 > 解决方案 > 我正在尝试在我的 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);
    }

标签: javaandroidandroid-studioandroid-spinner

解决方案


createFromResource的第一个参数是上下文。您可以通过两种方式获取上下文:

  1. 应用环境:getApplicationContext()
  2. 活动的上下文:ActivityName.this

应用程序上下文是项目的一般上下文,您可以从所有活动中获取它。活动上下文特定于活动。因此,您只能从它自己的活动中访问它。您尝试从另一个活动访问活动上下文,因此出现此错误。您可以尝试getApplicationContext()AddEmployee.this


推荐阅读