【发布时间】:2011-08-31 11:10:38
【问题描述】:
我的A类调用了一个startActivityForResult:A类是tabactivity的一个选项卡中的activitygroup
Intent intent = new Intent(this, ClassB.class);
startActivityForResult(intent, "STRING");
ClassB是一个普通activity,不在tabactivity中,它是单独的
Intent intent = this.getIntent();
intent.putExtra("SOMETHING", "EXTRAS");
this.setResult(RESULT_OK, intent);
finish();
但在 A 类中,onactivityResult 没有收到任何信息,也没有执行。如果我将 A 类从 tabactivity 中删除,我的应用程序就可以了。我已经阅读了
How to setResult() for a TabActivity which contains activity for tabs
How to return a result (startActivityForResult) from a TabHost Activity?
但没有解决我的问题,谁能给点建议,代码更好,谢谢
编辑: 我在 A 类中添加:
public class UpdateImageBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Log.i("temp","34353");
}
}
/* (non-Javadoc)
* @see android.app.Activity#onPause()
*/
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
unregisterReceiver(updateImageBroadcastReceiver);
}
/* (non-Javadoc)
* @see android.app.Activity#onResume()
*/
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
updateImageFilter = new IntentFilter("ACTION_CHANGE_TAB");
updateImageBroadcastReceiver = new UpdateImageBroadcastReceiver();
registerReceiver(updateImageBroadcastReceiver, updateImageFilter);
}
B 类:
Intent intent = new Intent("ACTION_CHANGE_TAB");
intent.putExtra("path", f.getAbsolutePath());
sendBroadcast(intent);
// FileListSelectActivity.this.setResult(RESULT_OK, intent);
finish();
但我无法打印:Log.i("temp","34353");
【问题讨论】:
标签: android