android-关于Android如何在不同Activity调用一个类的方法不同操作?

问题描述

关于Android如何在不同Activity调用一个类的方法不同操作?
我现在有个activity是全局运行的(简称A),还有个MainActivity(简称B),现在写了一个类(简称C),C中有个方法,A和B都要用到(这个实现了),我想实现B用到这个方法的时候会做一些额外的事。如何是用呢
class CustomMessageHandler extends AVIMMessageHandler {

    public static String ME=""msg"";    private CustomMessageHandler customMessageHandler;    private Context context=null;    public CustomMessageHandler(Context context){        this.context=context;    }    /*private void UpdataUI() {        // TODO Auto-generated method stub        if(this.context!=mainActivity){        }        new AlertDialog.Builder(this.context).setTitle(""you are invited!"").setIcon(                android.R.drawable.ic_dialog_info).setView(                new EditText(this.context)).setPositiveButton(""yes"" new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog int which) {            }        })                .setNegativeButton(""no"" new DialogInterface.OnClickListener() {                    @Override                    public void onClick(DialogInterface dialog int which) {                    }                }).show();    }*/  @Override  public void onMessage(AVIMMessage message AVIMConversation conversation AVIMClient client) {    // 新消息到来了。在这里增加你自己的处理代码。    String msgContent = message.getContent();    ME=msgContent;    UpdataUI();    System.out.println(conversation.getConversationId() + "" 收到一条新消息:"" + msgContent);   // Logger.d(conversation.getConversationId() + "" 收到一条新消息:"" + msgContent);  }}

解决方案

其中注释掉的代码,是我想让B调用是使用,而A不使用 大家有什么解决办法吗

解决方案二:
给类 CustomMessageHandler 增加一个构造函数,不同的地方调用时传入不同的数值,这样就可以区分不同 Activity 的调用。

解决方案三:

 public class A {    class A_INNER extends C{        @Override        public void UpdateUI() {//覆盖这个方法,里面空着就行。这样就不会执行原来的C里面的方法了        }           }}public class B {   class B_INNER extends C{   }}public  class C {   public void UpdateUI(){       System.out.println(""c"");   }   public void onMessage(){       UpdateUI();   }}

解决方案四:
给方法加个参数呗。。。。。。

解决方案五:
............................. 回调如何 ?

解决方案六:
在构造函数中加个标志参数 或者 通过context判断 context==包名

时间: 2024-09-20 00:22:18

android-关于Android如何在不同Activity调用一个类的方法不同操作?的相关文章

php文件调用一个类或方法,生成一个log文件,log文件上输出调用的时间和内容,该怎么写

问题描述 php文件调用一个类或方法,生成一个log文件,log文件上输出调用的时间和内容,该怎么写 php文件调用一个类或方法,生成一个log文件,log文件上输出调用的时间和内容,该怎么写 解决方案 /** 自定义日志 @param string $type @param string $content @return bool */ function mylog($type="",$content=""){ if(!$content || !$type){ r

Android中在WebView里实现Javascript调用Java类的方法_Android

为了方便网页和Android应用的交互,Android系统提供了WebView中JavaScript网页脚本调用Java类方法的机制.只要调用addJavascriptInterface方法即可映射一个Java对象到JavaScript对象上. 1.映射Java对象到JavaScript对象上 复制代码 代码如下: mWebView = (WebView) findViewById(R.id.wv_content); mWebView.setVerticalScrollbarOverlay(tr

Android编程判断网络是否可用及调用系统设置项的方法_Android

本文实例讲述了Android编程判断网络是否可用及调用系统设置项的方法.分享给大家供大家参考,具体如下: private boolean checkNetwork() { boolean flag = false; ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (manager.getActiveNetworkInfo() != null

Android编程判断网络是否可用及调用系统设置项的方法

本文实例讲述了Android编程判断网络是否可用及调用系统设置项的方法.分享给大家供大家参考,具体如下: private boolean checkNetwork() { boolean flag = false; ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (manager.getActiveNetworkInfo() != null

Android编程实现在一个程序中启动另一个程序的方法

本文实例讲述了Android编程实现在一个程序中启动另一个程序的方法.分享给大家供大家参考,具体如下: Android 开发有时需要在一个应用中启动另一个应用,比如Launcher加载所有的已安装的程序的列表,当点击图标时可以启动另一个应用. 一般我们知道了另一个应用的包名和MainActivity的名字之后便可以直接通过如下代码来启动: Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEG

用一个字符名称调用一个属性或者方法

在设计的大部分时候,用户可以发现一个对象的属性和方法,并且可以写一些代码来处理这些方法.然而在一些时候,不能提前知道一个对象的属性和方法,或者只是想在运行程序的时候能具有指定属性和运行不同方法的灵活性. 举一个例子,一个客户端的运行程序通过给一个COM组件一个操作来计算一个表达式.假想现在正在给服务器加一个需要新的操作描述的函数.不幸的是,这时必须重新编译和发布客户端软件才能使用新的操作.为了避免这种情况,用户可以使用CallByName函数来把新的操作当成一个字符给服务器加载这个函数,而不需要

C#中派生类的方法里的匿名delegate调用基类的方法会产生无法验证的代码

看来阅读一个开发人员的blog是获取知识的一个捷径,特别是当那位开发人员负责的产品是你天天都用的基础设施之一,例如说--编译器.在阅读Eric Lippert的blog时,我无意中了解到了很多我以前所不熟悉的知识,例如说一些语言特性,一些编程思想之类:但更有趣的,我了解到了很多他所负责的产品中的诡异地方. 开篇花絮: 假如我们现在有一个枚举类型E,其中有一个枚举值的名字是x. 你或许知道这个表达式是对的: C#代码 0 | E.x 但是你或许不知道这个表达式(根据语言规范应该)是错的: C#代码

ejb方法调用-EJB3.0中怎么一个类调用另外一个类的方法

问题描述 EJB3.0中怎么一个类调用另外一个类的方法 我做得的是struts+ejb3.0,在EJB中我想用BIZ调用dao,是直接New还是有别的方法...求大神指教..... 这是BIZ的方法 public List queryPet(String pelName,String pelZr,String pelType ,String px) { System.out.println("aaaaaaaaaaaaaaaaaaaa"); IDao dao=new IDaoImpl()

python-Python的类怎么调用其他类的方法?

问题描述 Python的类怎么调用其他类的方法? 事情是这样的.我用wxpython写了一个窗体程序,定义了一个"MyButton"类(继承了Button)和一个"TextBox"类(继承了TextCtrl),会产生一个按钮和一个文本框.点击按钮就能清空文本框里的内容.将这个特性定义成了Button的方法,可是怎么去调用TextBox里的Clear()方法?这个时候还没有定义对象. 解决方案 你可以定义Text对象,然后放到self中. 解决方案二: 用回调函数,将