zoukankan      html  css  js  c++  java
  • tabhost 刷新avtivity

    在android中,使用tabHost的时候,如果tab被点击,该tab所对应的activity被加载了,从别的tab切换回来的时候,activity不会再次被创建了(onCreate),所以要想每次点击tab都刷新activity,有如下方法:

     

    方法1 把要刷新的对象添加到

     

     

    @Override

    public void onResume() {

    super.onResume();

    //代码

    }

     

    每次切换tab,该activity会调用次方法

     

    但是这个方法有个问题,如果在此方法中加载下个activity,在这里,我们起名叫activity2。当activity2结束时,调用finish()方法,此时tab所对应的那个activity仍然会执行onResume()方法,重新刷新数据。

     

    如果想避免这种情况,使用方法2

     

    tabHost.addTab(tabHost.newTabSpec(0 + "").setIndicator(tv1).setContent(new Intent(this, NewsActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));

    tabHost.addTab(tabHost.newTabSpec(1 + "").setIndicator(tv2).setContent(new Intent(this, VideoActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));

     

     

     使用 .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)就可以了。

    原创帖,转发请注明出处:http://thierry-xing.iteye.com/blog/1630687

  • 相关阅读:
    体验一下:AndroidX
    Android研发技术的进阶之路
    App 冷启动与热启动及启动白屏优化
    Android Q 正式命名为 Android 10
    Android开发学习路线的七个阶段和步骤
    安卓旅途之——开发数独(一)
    项目总结
    小组互评与自评
    典型用户与场景
    第二个Sprint计划
  • 原文地址:https://www.cnblogs.com/sy171822716/p/3003402.html
Copyright © 2011-2022 走看看