[英]Call a function from baseActivity android
I have an activity BaseActivity. 我有一个活动BaseActivity。 BaseActivity has a broadcast set as
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
}
}
};
Now I have many activities eg MyActivity extends BaseActivity On broadcast receive, i want to call a function defined in MyActivity (mainly UI Changes). 现在我有很多活动,例如MyActivity扩展BaseActivity在广播接收,我想调用MyActivity中定义的函数(主要是UI更改)。 How can I call a function in MyActivity from BaseActivity
如何从BaseActivity调用MyActivity中的函数
Create a method abstract in the base class and implement it in the derived class (MainActivity). 在基类中创建方法抽象,并在派生类(MainActivity)中实现它。
add abstract modifier to your BaseActivity: 将抽象修饰符添加到BaseActivity:
public abstract class BaseActivity extends Activity
Create an abstract method in your base activity 在基本活动中创建抽象方法
public abstract void test();
then, override it in the derived activity (Main Activity). 然后,在派生活动(主要活动)中覆盖它。
@Override
public void test() {
// TODO Auto-generated method stub
}
In your base activity you can call it normally. 在您的基本活动中,您可以正常调用它。
test();
Now, you will have multiple implementations on test method based on the Activity that is running now.
现在,您将基于现在运行的Activity在测试方法上实现多个实现。 Each implementation will function differently corresponding to the running activity.
每个实现的功能都与运行活动相对应。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.