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

森林海
TA貢獻(xiàn)2011條經(jīng)驗 獲得超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();

慕雪6442864
TA貢獻(xiàn)1812條經(jīng)驗 獲得超5個贊
如果設(shè)定并使用此意圖從現(xiàn)有活動啟動新活動,則現(xiàn)有活動的回復(fù)目標(biāo)將轉(zhuǎn)移到新活動。
- 3 回答
- 0 關(guān)注
- 498 瀏覽
添加回答
舉報
0/150
提交
取消