启动服务而不扩展活动

时间:2013-03-10 18:33:30

标签: android service android-activity fragment

我想在班上开始一项服务

public class LayoutOne extends Fragment implements OnClickListener

以前它很好,当我扩展Activity超类时,但由于我必须扩展Fragment我遇到了问题..

我将OnClicklistener实现到LayoutOne类,所以我想在其中启动一个服务,但它在新的Intent行和startServcie行上给出了一个错误..任何想法如何解决这个问题?

@Override
public void onClick(View v) {

switch (v.getId()) {
case R.id.bGo:

if (mStartGo) {
mButton.setText(“Stop going boy”);
mStartGo = false;

Intent intent = new Intent(this, StartGoService.class);
Messenger messenger = new Messenger(handler);
intent.putExtra(“MESSENGER”, messenger);
startService(intent);
//…

1 个答案:

答案 0 :(得分:2)

尝试使用:

Intent intent = new Intent(v.getContext(), StartGoService.class);
Messenger messenger = new Messenger(handler);
intent.putExtra(“MESSENGER”, messenger);
v.getContext().startService(intent);

由于它是View的onClick()方法,您应该能够使用用于创建View的Context。