zoukankan      html  css  js  c++  java
  • 安卓tabhost和子Activity通信方法

    发现很多同学在问这个问题

    1个tabhost对应的类假设是T,假设包含2个子tab,每个是1个activity,假设叫a,b,对应的类假设是A和B

    那么有这几个问题

    1.a如何调用b的方法,或者说发送消息给b

    2.a如何通知tabhost

    3.tabhost如何通知a和b

    其实2,3解决了,1也就解决了

    下面来说其中一种办法(有的人给出了广播的办法,根据实际情况选择吧,这里不多阐述)


    a如何通知tabhost,通过message

    核心代码是在t中写个handler接收消息

    public Handler searchHandler = new Handler() {
    		public void handleMessage(Message msg) {
    			Bundle bundle = msg.getData();
    			// 获得信息
    			String searchString = bundle.getString("search");
    			//XXXX逻辑  
    }
    }

    然后在a中写发送消息的

    					T t= (T) getParent();				 
    					Message message = new Message();
    					//写逻辑
    					t.searchHandler .sendMessage(message);

     

    tabhost如何通知a,

    如果a是活动activity(这种情况很多见,比如其他tab在多线程执行东西,但是内容需要当前tab实时展现)

    那么Activity currentActivity = getCurrentActivity();
    if (currentActivity instanceof A) {
               ((A) currentActivity).你的方法XXX;
           }
    如果a不是活动activity,那么在a的

    @Override
    protected void onResume() 

    中天添加逻辑即可

  • 相关阅读:
    普通图片转ascii码字符图
    基于RAF的一个小动画框
    HTML5给我们带来了什么
    记坑
    以后的博客可能会偏向游戏开发方向
    总结:js中4类修改样式的方法
    小记:css特殊性
    css小记
    探究绑定事件的this指向以及event传参的小问题
    手把手教你图片转ASCII码图
  • 原文地址:https://www.cnblogs.com/aukle/p/3226011.html
Copyright © 2011-2022 走看看