TabHost和TabActivity问题中的监听器

时间:2012-01-03 08:32:21

标签: android listener android-tabhost

我有一个带标签活动的TabHost。 从TabHost我使用startActivityForResult。 在onActivityResult函数中,我使用sendBroadcast。

侦听器位于一个Tab活动中。 我按如下方式启动听众:

    @Override
protected void onResume() 
{
    super.onResume();

    if( mIsListenerRegistered == false )
    {
        registerReceiver( mListener, new IntentFilter("org.myApp.NotifyUserRatingChanged") );
        mIsListenerRegistered = true;
    }
}

@Override
protected void onPause() 
{
    super.onPause();

    if( mIsListenerRegistered ) 
    {
        unregisterReceiver( mListener );
        mIsListenerRegistered = false;
    }
}

问题在于,因为我在TabHost startActivitForResult中使用,所以调用onPause并且未注册接收。 现在,在调用onResume(选项卡)之前调用onActivityResult。所以会发生的事情是我在重新注册听众之前发送广播。

1 个答案:

答案 0 :(得分:1)

显然这不起作用,因为你还没有注册接收器

为什么不尝试在onCreate()方法中注册接收器 取消注册onDestroy()方法。

活动生命周期介于onCreate()onDestroy()之间。