Java 正在MainActivity中调用接口中的回调方法

Java 正在MainActivity中调用接口中的回调方法,java,android,Java,Android,我正在尝试将一些数据从onPostExecute()传递到main活动。因此,当doInBackground()完成时,将调用onPostExecute(),条件路由=正在输入0(因为我已对其进行了调试),但我在MainActivity中获得了任何信息 MaiActivity中没有调用SyncTaskFinishedForTesting的方法,因此当我在它的开头设置断点时boolean test=true。我正在重写MainActivity中接口中的所有方法 我怎样才能修好它 跟踪服务类: pu

我正在尝试将一些数据从
onPostExecute()
传递到
main活动
。因此,当
doInBackground()
完成时,将调用
onPostExecute()
,条件
路由=正在输入0
(因为我已对其进行了调试),但我在MainActivity中获得了任何信息

MaiActivity中没有调用SyncTaskFinishedForTesting的方法
,因此当我在它的开头设置断点时
boolean test=true。我正在重写MainActivity中接口中的所有方法

我怎样才能修好它

跟踪服务类:

public class TrackingService extends Service implements AsyncTaskCallback,
        LocationListener {
  .....
    @Override
    public void onLocationChanged(Location location) {
                    PostData sender = new PostData(TrackingService.this);
                sender.post_data(jSONString, this);

    }


}
public class MainActivity extends ActionBarActivity implements
        AsyncTaskCallback {
     ......
    @Override
    public void onAsyncTaskFinishedForTesting(String direction, int route) {
        // TODO Auto-generated method stub
        boolean test = true;
        if (test) {
            test = false;
            System.out.println("test f MainActivity: "+ direction +": "+ route);

            tvD = (TextView) findViewById(R.id.textDirect);
            tvD.setText(direction);
            tvR = (TextView) findViewById(R.id.textRoute);
            tvR.setText(route);
        }

    }

}
**PostData类:**

 public class PostData {
        private AsyncTaskCallback callback;
        String jSONString;

            public PostData(AsyncTaskCallback callback) {
             this.callback = callback;
            }

            public void post_data(String jSONString, Context context) {
        this.jSONString = jSONString;
        new MyAsyncTask().execute(jSONString);


    }
        ....
      class MyAsyncTask extends AsyncTask<String, Integer, ArrayList<Integer>> {

         .....
            protected void onPostExecute(ArrayList<Integer>  result) {    
                if (route != 0) {
                    System.out.println("test f PostData: "+ direction +": "+ route);                
                    callback.onAsyncTaskFinishedForTesting(direction, route);

                } else {
                    Log.e("123", "Avoiding null pointer, the route are null!!!");
                }
            }

      }
    }

还请提供PostData构造函数和创建PostData实例的部分。我看不到注册回调的位置。您应该看到一个空指针异常。@Andreitudoradiaconu:我已经添加了它。请看一看。@Fildor:我没有收到任何错误。我还要求创建PostData实例。我想您是在活动中这样做的?请同时提供PostData构造函数和创建PostData实例的部分。我看不到您在哪里注册回调。您应该看到一个空指针异常。@Andreitudoradiaconu:我已经添加了它。请看一看。@Fildor:我没有收到任何错误。我还要求创建PostData实例。我想你是在活动中这样做的吧?
public class MainActivity extends ActionBarActivity implements
        AsyncTaskCallback {
     ......
    @Override
    public void onAsyncTaskFinishedForTesting(String direction, int route) {
        // TODO Auto-generated method stub
        boolean test = true;
        if (test) {
            test = false;
            System.out.println("test f MainActivity: "+ direction +": "+ route);

            tvD = (TextView) findViewById(R.id.textDirect);
            tvD.setText(direction);
            tvR = (TextView) findViewById(R.id.textRoute);
            tvR.setText(route);
        }

    }

}