如何從Tabhost活動返回結果(StartActivityForResult)?我的例子中有三個類:A類,主要活動。類A調用startActivityForResult:Intent intent = new Intent(this, ClassB.class);startActivityForResult(intent, "STRING");B類,這個類是TabActivity:Intent intent = new Intent(this, ClassC.class);tabHost.addTab...C類,這個類是一個常規活動:Intent intent = this.getIntent();intent.putExtra("SOMETHING", "EXTRAS");this.setResult(RESULT_OK, intent);finish();在A類中調用onActivityResult,但結果代碼是RESULT_CANCELED而不是RESULT_OK返回的意圖為空。如何從Tabhost中的活動中返回某些內容?我意識到問題是,我的C類實際上運行在B類內部,而B類是返回RESULT_CANCELED回到A班,我只是還不知道周圍有什么工作。
3 回答

森林海
TA貢獻2011條經驗 獲得超2個贊
finish()
mParent
null
public void finish() { if (mParent == null) { int resultCode; Intent resultData; synchronized (this) { resultCode = mResultCode; resultData = mResultData; } if (Config.LOGV) Log.v(TAG, "Finishing self: token=" + mToken); try { if (ActivityManagerNative.getDefault() .finishActivity(mToken, resultCode, resultData)) { mFinished = true; } } catch (RemoteException e) { // Empty } } else { mParent.finishFromChild(this); }}
Intent data = new Intent(); [...]if (getParent() == null) { setResult(Activity.RESULT_OK, data);} else { getParent().setResult(Activity.RESULT_OK, data);}finish();
- 3 回答
- 0 關注
- 504 瀏覽
添加回答
舉報
0/150
提交
取消