Android: почему нужно использовать getBaseContext() вместо этого

thisчасто используется для ссылки на текущий контекст. Но почему в некоторых случаях мы должны использовать 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()на этотполучит ошибку.

Кто мне объяснит, пожалуйста.

31
задан Brian Tompsett - 汤莱恩 6 June 2015 в 22:54
поделиться