安卓---Tabhost实现页面局部刷新--父页子页之间的传值
2016-05-12 10:10
288 查看
TabHost的实现分为两种,一个是不继承TabActivity,一个是继承自TabActivity;当然了选用继承自TabActivity的话就相对容易一些,下面来看看分别是怎样来实现的吧。
我只写继承TabActivity,文章末尾会给一个比较牛逼的链接,本人也是照着他的做的
首先准备几个跳转的页面,布局文件里面的东西大家自己添加,没必要按照我的布局来,
main2.xml
View Code
演示效果如下:
好了这就是我实现的tabhost了,还有一种不继承的方法大家可以参看下面的链接:
http://blog.csdn.net/harvic880925/article/details/17120325#t11
从父类传值过来
intent.putExtra("id", “1111”);
intent.setClass(dianzhanliebiao.this, zhuyemian.class);
dianzhanliebiao.this.startActivity(intent);
共享传递到父类的值,(tabhost的子页面)
// 获取id
Intent intent = getParent().getIntent();
String id = intent.getStringExtra("id");
安卓里面ViewPager也可以实现上面的功能,而且可以滑动,可参考链接:http://blog.csdn.net/harvic880925/article/details/38453725
我只写继承TabActivity,文章末尾会给一个比较牛逼的链接,本人也是照着他的做的
首先准备几个跳转的页面,布局文件里面的东西大家自己添加,没必要按照我的布局来,
main2.xml
package com.example.myfragment; import android.app.Activity; import android.app.TabActivity; import android.os.Bundle; import android.view.LayoutInflater; import android.widget.TabHost; import android.widget.TabHost.OnTabChangeListener; import android.widget.TabWidget; import android.widget.TextView; public class fadianliang extends TabActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TabHost tabHost = getTabHost(); LayoutInflater.from(this).inflate(R.layout.fadianliang, tabHost.getTabContentView(), true); tabHost.addTab(tabHost.newTabSpec("功率").setIndicator("功率", getResources().getDrawable(R.drawable.ic_launcher)) .setContent(R.id.view1)); tabHost.addTab(tabHost.newTabSpec("月发电量").setIndicator("月发电量") .setContent(R.id.view2)); tabHost.addTab(tabHost.newTabSpec("年发电量").setIndicator("年发电量") .setContent(R.id.view3)); TabWidget tabWidget=tabHost.getTabWidget(); for (int i = 0; i < tabWidget.getChildCount(); i++) {//tabWidget.getChildCount()得到tab总数 TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(android.R.id.title); tv.setTextSize(18); }//设置tab上的字体大小 //标签切换事件处理,setOnTabChangedListener tabHost.setOnTabChangedListener(new OnTabChangeListener(){ @Override public void onTabChanged(String tabId) { if (tabId.equals("功率")) { //第一个标签 } if (tabId.equals("月发电量")) { //第二个标签 } if (tabId.equals("年发电量")) { //第三个标签 } } }); TabWidget tw=tabHost.getTabWidget(); tw.setBackgroundColor(getResources().getColor(R.color.txt_blue)); } public void onTabChanged(String tabId) { Activity activity = getLocalActivityManager().getActivity(tabId); if (activity != null) { activity.onWindowFocusChanged(true); } } }
View Code
演示效果如下:
好了这就是我实现的tabhost了,还有一种不继承的方法大家可以参看下面的链接:
http://blog.csdn.net/harvic880925/article/details/17120325#t11
从父类传值过来
intent.putExtra("id", “1111”);
intent.setClass(dianzhanliebiao.this, zhuyemian.class);
dianzhanliebiao.this.startActivity(intent);
共享传递到父类的值,(tabhost的子页面)
// 获取id
Intent intent = getParent().getIntent();
String id = intent.getStringExtra("id");
安卓里面ViewPager也可以实现上面的功能,而且可以滑动,可参考链接:http://blog.csdn.net/harvic880925/article/details/38453725
相关文章推荐
- HTML 5 placeHolder
- 通过Docker Machine快速安装Docker环境
- Xcode常用快捷键
- 地图坐标转换
- 关于zebra中thread的解析
- 3017
- Android_开源框架_xutils详解和使用
- 线程和进程区别
- Android RecyclerView 使用完全解析
- 读取本地json文件
- spring+mybatis事务管理
- 微信支付
- MySQL索引优化分析,SQL优化,慢查询分析
- Visual studio 2008环境配置:C#显示代码行号、全屏显示
- xcode 数据请求失败问题
- linux 中 too many open files
- python的tab自动补全
- CentOS7安装Chrome浏览器
- 九九乘法表
- iOS隐藏系统时间状态栏