我的應用程序出現問題。我有一個名爲ExperimentView的活動,它具有一個名爲FrameRoll的內部類,它實現了Runnable。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);
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 data.The 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的callingActivity,它是ExperimentView。
我試過的每一個方法都失敗了。只有當從onCreate
調用子活動時,纔會調用onActivityResult。是否有人知道我該怎麼做?
感謝名單:)
對不起,我忘了添加完成();但是我的代碼沒有解決。所以這並不能解決任何問題。我的主要問題是,當onCreate調用相同的東西時,它會非常完美。當從內部類調用onActivity時,不會調用 –
它取決於if你的runnable在UI線程上運行,那麼它肯定會工作。告訴我你是如何執行你的可運行 – waqaslam
這裏是內部類。gpscall在底部 http://pastebin.com/Vxw68F4U –