开发者社区> 问答> 正文

安卓开发的问题

Intentservice1.java文件

public class Intentservice1 extends IntentService {

private String count;
private mybinder bind=new mybinder();
public class mybinder extends Binder
{
    public String getcount()
    {

        return count;
    }
}

public Intentservice1()
{
    super("Intentservice1");

}

@Override
public IBinder onBind(Intent intenr)
{

    return bind;
}

@Override
protected void onHandleIntent(Intent arg0) {
    // TODO Auto-generated method stub

}


}

MainActivity.java文件

public class MainActivity extends Activity {
private TextView text;
private Intentservice1.mybinder binder1;
private ServiceConnection conn=new ServiceConnection()
{
    @Override
    public void onServiceConnected(ComponentName name,IBinder service)
    {
        binder1=(Intentservice1.mybinder)service;
        if(binder1==null)
            System.out.println("空了");
    }

    @Override
    public void onServiceDisconnected(ComponentName name)
    {

    }
};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    text=(TextView)findViewById(R.id.textview1);

    try
    {
    text.setText(binder1.getcount());       //出错的是这里,NullPointerException
    }
    catch(Exception e)
    {
        System.out.println(123);
    }


    Intent intent=new Intent(MainActivity.this,Intentservice1.class);

    bindService(intent,conn,Service.BIND_AUTO_CREATE);

}

在运行时出现了错误,text里没有显示任何东西,logcat里输出了123,然后还输出了“skipped 82 Frames!The application may be doing too much work on its mainThread

展开
收起
爵霸 2016-03-25 10:17:51 1731 0
1 条回答
写回答
取消 提交回答
  • 在执行 onCreate 的时候binder1还没有赋值(conn的onServiceConnected还没执行)

    2019-07-17 19:13:38
    赞同 展开评论 打赏
问答分类:
问答地址:
相关产品:
问答排行榜
最热
最新

相关电子书

更多
Re: 移动开发的未来 立即下载
APICloud服务CAF开发者 立即下载
ios开发者必读咨讯 立即下载