问题描述
- 新人求问安卓开发的问题
-
IntentService.javapublic 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出去了,都没赋值,能不空指针吗?
时间: 2024-07-30 19:28:13