2017-02-18 3 views
0

Будучи нищим в андроиде, я застрял при использовании Toast.makeText, вот код.Почему Toast.makeText не принимает отформатированный текст?

public class CustomOnSelectedListen implements OnItemSelectedListener{ 

public void onItemSelected(AdapterView<?> parent, View view,int pos,long id){ 
    Toast.makeText(parent.getContext(), 
      "OnItemSelectedListener :" + parent.getItemAtPosition(pos).toString(), 
      Toast.LENGTH_SHORT).show(); 
} 

public void onNothingSelected(AdapterView<?> arg0){ 
    Toast.makeText(CustomOnSelectedListen.this,"Please select place and class".toString(),Toast.LENGTH_SHORT).show(); 
} 

}

и ошибка

Error:(19, 15) error: no suitable method found for 
     makeText(CustomOnSelectedListen,String,int) 
method Toast.makeText(Context,CharSequence,int) is not applicable 
(argument mismatch; CustomOnSelectedListen cannot be converted to Context) 
method Toast.makeText(Context,int,int) is not applicable 
(argument mismatch; CustomOnSelectedListen cannot be converted to Context) 

Здесь CustomOnSelectedListen не могут быть преобразованы, что может быть не так?

EDIT 1: Да CustomOnSelectedListen не экземпляр контекста, мне нужно, чтобы отобразить сообщение в функции onNothingSelected() с помощью тостов, каковы различные способы сделать это?

+0

** CustomOnSelectedListen не может быть преобразован в Context ** получить подсказку. Проверить прямые подклассы и косвенные подклассы вверху https://developer.android.com/reference/android/content/Context.html. – Raghunandan

+2

Вам необходимо передать ** context instance ** в качестве первого параметра в вашем методе makeText, а не ** CustomOnSelectedListen instance **. –

+0

В каком классе вы печатаете это? – NehaK

ответ

1

На вашей onNothingSelected функции:

Toast.makeText(CustomOnSelectedListen.this,"Please select place and class".toString(),Toast.LENGTH_SHORT).show(); 

Первый параметр (CustomOnSelectedListen.this) не Context экземпляр.

Смежные вопросы