IntentService.java
public class Intentservice1 extends IntentService {
private String count;
private mybinder bind=new mybinder();
public class mybinder extends Binder
{
public String getcount()
{
System.out.println(count);
return count;
}
}
public Intentservice1()
{
super("Intentservice1");
System.out.println("构造方法");
}
@Override
public void onCreate()
{
super.onCreate();
System.out.println("onCreate方法");
}
@Override
public IBinder onBind(Intent intenr)
{
System.out.println("service isbind");
return bind;
}
@Override
protected void onHandleIntent(Intent arg0) {
// TODO Auto-generated method stub
}
}
MainActivity.java
private Intentservice1.mybinder binder1;
private ServiceConnection conn=new ServiceConnection()
{
@Override
public void onServiceConnected(ComponentName name,IBinder service)
{
System.out.println("service is connect");
binder1=(Intentservice1.mybinder)service;
System.out.println(binder1.getcount()); //这里发生了NullPointerException
}
在运行的时候发生NullPointerException,请问为什么binder1.getcount()会发生这样的错误?binder1不是已经获得返回的Intentservice1.mybinder的值了吗?这里应该如何去改?
你的count首先为什么用String类型,并且我从你的代码中并未看到count被赋值,唯一 一个地方就是你的getcount()把这个值return出去了,都没赋值,能不空指针吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。