1

サービスから部外者クラスを呼び出そうとしていますが、「nullポインタ例外」などのエラーが発生します。そのための簡単なコードを次に示します。

こちらが部外者クラスです。

public class SyncTask {
    private Context context;

    public SyncTask(Context context, String agrs) {
        this.context = context;
    }       

    protected String ProcessSycn(String agrs) {     
        return agrs + " -  call successful.";
    }    
}

こちらがサービスクラスです。

public class SyncService extends Service{   
    public SyncTask syncme;
    public String i;

    @Override
    public IBinder onBind(Intent arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void onStart(Intent intent, int startId) {
        // TODO Auto-generated method stub
        super.onStart(intent, startId);                
        i = syncme.ProcessSycn(3 + "");                                 
        this.stopSelf();
    }    


    @Override
    public void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
    }    
}
4

1 に答える 1

0

変数を初期化することはありませんsyncme。次のようなものが必要です:

syncme = new SyncTask(this, "arguments");
于 2013-02-08T10:30:04.653 に答える