从baseActivity android调用一个函数

时间:2013-10-10 14:14:05

标签: java android eclipse

我有一项活动BaseActivity。 BaseActivity的广播设置为

private final BroadcastReceiver mReceivedReceiver = new BroadcastReceiver() 
    {
        @Override
        public void onReceive(Context context, Intent intent) 
        {
            String action = intent.getAction();
            mDialog.dismiss();
            if (Constants.ACTION_REQUEST_QUOTE.equals(action)) 
            {
                requestQuoteViewer();
                mDialog.dismiss();
            }
            if (Constants.ACTION_PUSH.equals(action))
            {
               // CALL A FUNCTION IN MYACTIVITY
            }
        }
    };    

现在我有很多活动,例如MyActivity扩展了BaseActivity 在广播接收上,我想调用MyActivity中定义的函数(主要是UI更改)。如何从BaseActivity中调用MyActivity中的函数

1 个答案:

答案 0 :(得分:4)

在基类中创建方法抽象,并在派生类(MainActivity)中实现它。

为您的BaseActivity添加抽象修饰符:

public abstract class BaseActivity extends Activity

在基本活动中创建一个抽象方法

public abstract void test();

然后,在派生活动(主要活动)中覆盖它。

@Override
public void test() {
    // TODO Auto-generated method stub      
}

在您的基本活动中,您可以正常调用它。

test();
  

现在,您将有多个基于测试方法的实现   现在正在运行的Activity。每个实现都将起作用   与运行活动不同。