StartService не определено для OnClickListener во фрагменте - PullRequest
0 голосов
/ 06 ноября 2011

Я получаю эту ошибку во фрагменте

Метод startService (Intent) не определен для типа new View.OnClickListener

в onCreateView У меня есть этот код

mButton.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        startService(new Intent(MyService.ACTION1));
    }
});

Кто-нибудь знает почему?

Спасибо

Ответы [ 3 ]

1 голос
/ 06 ноября 2011

Если имя класса вашего фрагмента было MyFragment, ваш код будет выглядеть как

mButton.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
        Context ctx = (Context)MyFragment.this.getActivity();
        ctx.startService(new Intent(MyService.ACTION1));
    }
});
1 голос
/ 06 ноября 2011

У OnClickListners нет метода startService. Попробуйте изменить его на FragmentName.getContext().this.startService().

0 голосов
/ 13 мая 2014

Вы можете просто использовать

getActivity().startService(new Intent(MyService.ACTION1));
...