为什么要用getBaseContext()方法代替this

来源:互联网 发布:投诉淘宝卖家有补偿吗 编辑:程序博客网 时间:2024/05/18 03:19
为什么要用getBaseContext()方法代替this
contextandroid

this 常常引用当前的 context。但是有些时候,必须使用getBaseContext()来代替this。就是说使用this会引发错误。
如下面的例子:

Spinner spinner = (Spinner) findViewById(R.id.spinner);spinner.setAdapter(adapter);            spinner.setOnItemSelectedListener(new OnItemSelectedListener() {    @Override    public void onItemSelected(AdapterView<?>arg0, View arg1, int arg2, long arg3){       Toast.makeText(getBaseContext(),"SELECTED", Toast.LENGTH_SHORT).show(); //this line    }

当我把getBaseContext()变成this就会有错误。
为什么这种情况下必须使用getBaseContext()方法,而不能使用this呢?

0 0
原创粉丝点击