アプリケーションに問題があります。Runnable を実装する FrameRoll という内部クラスを持つ ExperimentView というアクティビティがあります。
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
}
}
GPS データを取得するために、onCreate メソッドからサブアクティビティを呼び出しています。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);
}
内部クラス (フレームロール) からサブアクティビティを呼び出そうとすると、サブ アクティビティは正常に実行されますが、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()
た。
私が試したすべてのメソッドは失敗しましたonCreate
.onActivityResultは、サブアクティビティが呼び出されたときにのみ呼び出されます.誰も私が何をすべきか知っていますか?
ありがとう:)