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()
на этот
получит ошибку.
Кто мне объяснит, пожалуйста.