码迷,mamicode.com
首页 > 移动开发 > 详细

Android TabHost切换选项卡实现数据实时刷新

时间:2015-01-14 11:01:19      阅读:385      评论:0      收藏:0      [点我收藏+]

标签:

手机界面大小有限,使用TabHost可以达到在一个Activity中放入多个容器(界面)的效果。但存在一个问题是,当数据信息在一个容器(界面)中有所改变时,需要在用户切换选项卡到其他容器(界面)的时候实时刷新数据。

如图,在”发布板报“页面发布新的板报,当用户点击“浏览板报”或者“管理板报”选项卡时要刷新数据——显示出刚刚发布的板报。

技术分享

解决问题的关键在于对选项卡修改事件的监听,根据Tab ID来调用相应的方法。

核心代码:

 

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // ---------------------------Tab布局设置---------------------------------------
        final TabHost tabHost = getTabHost();
        // 设置使用TabHost布局
        LayoutInflater.from(this).inflate(R.layout.highlogined,
                tabHost.getTabContentView(), true);
        // 添加第一个标签页
        tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("浏览板报")
                .setContent(R.id.tab01));
        // 添加第二个标签页
        tabHost.addTab(tabHost.newTabSpec("tab2").setIndicator("发布板报")
                .setContent(R.id.tab02));
        // 添加第三个标签页
        tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("管理板报")
                .setContent(R.id.tab03));
        int width = 45; // 设置选项卡的高度和宽度
        int height = 48;
        TabWidget tabWidget = tabHost.getTabWidget();
        for (int i = 0; i < tabWidget.getChildCount(); i++) {
            // 设置高度、宽度,不过宽度由于设置为fill_parent,在此对它没效果
            tabWidget.getChildAt(i).getLayoutParams().height = height;
            tabWidget.getChildAt(i).getLayoutParams().width = width;
        }
        // 设置监听器,实现数据实时刷新
        tabHost.setOnTabChangedListener(new OnTabChangeListener() {
            public void onTabChanged(String tabId) {
                if (tabId.equals("tab1")) {
                    getContents(); // 得到浏览所有板报的方法
                } else if (tabId.equals("tab2")) {
                } else if (tabId.equals("tab3")) {
                    lookOwnBoard(); // 得到浏览本人发布得板报的方法
                }
            }
        });
}

 

Android TabHost切换选项卡实现数据实时刷新

标签:

原文地址:http://www.cnblogs.com/zhujiabin/p/4223359.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!