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);
}
}
}