#android #service #listener #fragment
#Android #Обслуживание #прослушиватель #фрагмент
Вопрос:
Я получаю эту ошибку во фрагменте
Метод startService(намерение) не определен для типа new View.OnClickListener
в onCreateView у меня есть этот код
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startService(new Intent(MyService.ACTION1));
}
});
Кто-нибудь знает, почему?
Спасибо
Ответ №1:
У OnClickListners нет метода startService. Попробуйте изменить его на FragmentName.getContext().this.startService()
.
Комментарии:
1. Во фрагменте, поэтому мне пришлось использовать v.getContext().startService(), но отлично. Спасибо
Ответ №2:
Если имя класса вашего фрагмента было MyFragment, ваш код будет выглядеть так
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Context ctx = (Context)MyFragment.this.getActivity();
ctx.startService(new Intent(MyService.ACTION1));
}
});
Ответ №3:
Вы можете просто использовать
getActivity().startService(new Intent(MyService.ACTION1));