关于如何获得自己项目启动到手机顶部Activity的实时对象

来源:互联网 发布:c数据结构与算法 编辑:程序博客网 时间:2024/06/05 18:48

应为Activity的对象不是自己造的所以反射和new都不是我们想要的得的,不是你想要的那个实例而是个新的实例,这个不是我门想要得到的,我们要得到是正在运行的那个Activity的实例

1,经验证如下方法可行

在要得到的那个Activity中写一个静态的属性,把自己的Activity对象传给这个静态属性,第一次启动Activity时是得到不了的,但是第二次就能获得,

2,笔者为了能够在一个类中获得这个启动的Activity中的转态的改变在其中自定义了个接口来监听

       ChannelActivity 为Activity的类名

       public static  ChannelActivity cacs;

      cacs=this;

      public interface OnDataChanger{
void datachanger();
}
public static OnDataChanger ondatachanger;
public static void setondatachanger(OnDataChanger ondatachanger){
cacs.ondatachanger=ondatachanger;
}

     这段代码就可实施监听了

     调用这个Activity的类的中这么写的:

      ChannelActivity ca1 =ChannelActivity.cacs;
if(ca1!=null){
Log.e("TAG", ca1.toString());
ca1.setondatachanger(new OnDataChanger() {
@Override
public void datachanger() {
isotherdata();
mpa.notifyDataSetChanged();
}
});

    就能实施监听这个Activity状态的改变了

0 0