我的应用程序有问题。我有一个名为 ExperimentView 的活动,它有一个名为 FrameRoll 的内部类,它实现了 Runnable。
public class ExperimentView extends Activity implements OnClickListener,{
public void onCreate(Bundle savedInstanceState) {
//Other stuff
//Call the gpshandler activity
gpsCall();
}
public void gpsCall() {
if (gpsEnabled.equalsIgnoreCase("true")) {
Intent gpsHandler = new Intent(ExperimentView.this,
GpsHandler.class);
startActivityForResult(gpsHandler,
GPSHANDLER_ACTIVITY_RETURN);
finish();
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//retrieve the data
}
public class FrameRoll implements Runnable {
//do other stuff
}
}
我正在从 onCreate 方法调用一个子活动,以检索一些 gps 数据。成功检索了 gps 数据。
public class GpsHandler extends Activity {
//obtain location
enter code here
Intent resultIntent = new Intent();
resultIntent.putExtra("location",
optimalLocation.toString());
setResult(Activity.RESULT_OK, resultIntent);
}
当我尝试从内部类(frameroll)调用子活动时,子活动正常运行,但从不调用 ExperimentVIew 中的 onActivityResult 方法,因此我没有得到任何数据。
public class ExperimentView extends Activity implements OnClickListener,{
public void onCreate(Bundle savedInstanceState) {
//Other stuff
//Call the gpshandler activity
gpsCall();
}
public void gpsCall() {
if (gpsEnabled.equalsIgnoreCase("true")) {
Intent gpsHandler = new Intent(ExperimentView.this,
GpsHandler.class);
startActivityForResult(gpsHandler,
GPSHANDLER_ACTIVITY_RETURN);
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//retrieve the data
}
public class FrameRoll implements Runnable {
gpsCall();
}
}
我尝试了不同的东西,包括onActivityResult
在嵌套类中实现,尝试做类似的事情ExperimentView.this.startActivityForResults()
,我在 gpshandler 中打印了调用活动,它是 ExperimentView。
我尝试的每个方法都失败了。仅当从 . 调用子活动时才调用 onActivityResult 。onCreate
有人知道我该怎么办吗?
谢谢:)