0

我想在我的班级开始一项服务

public class LayoutOne extends Fragment implements OnClickListener

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

我在 LayoutOne 类中实现了 OnClicklistener,所以我想在其中启动一个服务,但是它在新 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);
//…
4

1 回答 1

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。

于 2013-03-10T18:34:41.093 回答