java - 从 baseActivity android 调用一个函数

标签 java android eclipse

我有一个 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/

相关文章:

java - 将 Docx 文件转换为图像

java - java中的内存泄漏

java - 如何在向 ArrayList 插入数据期间阻止检索 ArrayList 信息

eclipse - 如何从 Eclipse 中分离 JProfiler?

java - Datanucleus JDO 中的映射属性

java - 维持一定数量的运行线程(JAVA)

android - React (CRA) Service Worker 缓存 "public"文件夹

java - Android setOnClickListener 不工作

java - Eclipse 不启动 (Ubuntu) : JVM terminated. 退出代码=13

java - 更多页面,相同的窗口/框架。 Eclipse Windowbuilder