我有一个 Activity 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
}
}
};
现在我有很多 Activity ,例如 MyActivity extends BaseActivity 在广播接收时,我想调用 MyActivity 中定义的函数(主要是 UI 更改)。如何从 BaseActivity 调用 MyActivity 中的函数
最佳答案
在基类中创建方法抽象,并在派生类(MainActivity)中实现。
为您的 BaseActivity 添加抽象修饰符:
public abstract class BaseActivity extends Activity
在你的基础 Activity 中创建一个抽象方法
public abstract void test();
然后,在派生 Activity (主 Activity )中覆盖它。
@Override
public void test() {
// TODO Auto-generated method stub
}
在您的基础 Activity 中,您可以正常调用它。
test();
Now, you will have multiple implementations on test method based on the Activity that is running now. Each implementation will function differently corresponding to the running activity.
关于java - 从 baseActivity android 调用一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19298234/