Прежде всего,
В вашем коде вы указали HomeFragment.this , который не является правильным во фрагменте.
toSpeech = new TextToSpeech(**HomeFragment.this**, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
Locale locale = new Locale("tr-TR");
int result = toSpeech.setLanguage(locale);
} else {
Toast.makeText(getApplicationContext(), "Not Supported", Toast.LENGTH_SHORT).show();
}
}
});
Вам необходимо изменить HomeFragment.this с помощью getActivity () , а также изменить getApplicationContext () с getActivity () в своем коде, как показано ниже: -
toSpeech = new TextToSpeech(getActivity(), new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
Locale locale = new Locale("tr-TR");
int result = toSpeech.setLanguage(locale);
} else {
Toast.makeText(getActivity(), "Not Supported", Toast.LENGTH_SHORT).show();
}
}
});
Второй вариант
Если по-прежнему Toast не работает должным образом с помощью getActivity (), вы также можете попробовать
getActivity().getBaseContext();
как показано ниже: -
Toast.makeText(getActivity().getBaseContext(), "Not Supported", Toast.LENGTH_SHORT).show();