
我的班级A调用了startActivityForResult:班级A是选项卡活动中的一个活动组
Intent intent = new Intent(this, ClassB.class);startActivityForResult(intent, "STRING");ClassB是一个常见的活动,不在tabactivity中,它是单独的
Intent intent = this.getIntent();intent.putExtra("SOMETHING", "EXTRAS");this.setResult(RESulT_OK, intent);finish();但是在Class A中,onactivityResult不会收到任何内容,也不算什么.如果我将TabA放在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”);
解决方法:
尝试使用广播接收器.您可以在活动B中覆盖onStop(),从活动B广播事件并在活动A中侦听.
总结以上是内存溢出为你收集整理的android-如何将结果(startActivityForResult)从活动返回给TabHost活动?全部内容,希望文章能够帮你解决android-如何将结果(startActivityForResult)从活动返回给TabHost活动?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)