例子1:

 TabHost tabhost = (TabHost) findViewById(android.R.id.tabhost);tabhost.setup(this.getLocalActivityManager());Intent intent1 = new Intent(this,Second.class);Bundle bundle1 = new Bundle();bundle1.putStringArray("string", strings1);bundle1.putFloatArray("values", values1);intent1.putExtra("bundle",bundle1);Intent intent2 = new Intent(this,Second.class);Bundle bundle2 = new Bundle();bundle2.putStringArray("string", strings2);bundle2.putFloatArray("values", values2);intent2.putExtra("bundle",bundle2);Intent intent3 = new Intent(this,Second.class);Bundle bundle3 = new Bundle();bundle3.putStringArray("string", strings3);bundle3.putFloatArray("values", values3);intent3.putExtra("bundle",bundle3);

例子2:

import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.RadioGroup;
import android.widget.TabHost;
import android.widget.RadioGroup.OnCheckedChangeListener;public class TabTest extends TabActivity{private RadioGroup group;private TabHost tabHost;public static final String TAB_HOME="tabHome";public static final String TAB_MES="tabMes";public static final String TAB_TOUCH="tab_touch";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.maintabs);group = (RadioGroup)findViewById(R.id.main_radio);tabHost = getTabHost();tabHost.addTab(tabHost.newTabSpec(TAB_HOME).setIndicator(TAB_HOME).setContent(new Intent(this,Main.class)));tabHost.addTab(tabHost.newTabSpec(TAB_MES).setIndicator(TAB_MES).setContent(new Intent(this,Main2.class)));tabHost.addTab(tabHost.newTabSpec(TAB_TOUCH).setIndicator(TAB_TOUCH).setContent(new Intent(this,TouchTest.class)));group.setOnCheckedChangeListener(new OnCheckedChangeListener() {public void onCheckedChanged(RadioGroup group, int checkedId) {switch (checkedId) {case R.id.radio_button0:tabHost.setCurrentTabByTag(TAB_HOME);break;case R.id.radio_button1:tabHost.setCurrentTabByTag(TAB_MES);break;case R.id.radio_button2:tabHost.setCurrentTabByTag(TAB_TOUCH);break;default:break;}}});}
}

效果如如下:
首先解决tab_host 的actitvty的跳转刷新,
  public void onCheckedChanged()方法进行group监控点击不同的事件响应,但是也只有点击不同的事件才会响应,这样问题就来了:比如同一个 actitvty进行 页面的缩放的的按钮就没有办法响应了。这里我是进行group立面的每一个RadioButton进行事件的处理 RadioButton.setOnClickListener().有人会说,不同的页面一旦显示一次当再次显示就不在刷新了,那么你可以这样设置一下 页面的跳转:

tabHost.addTab(tabHost.newTabSpec(TAB_NEXT).setIndicator(TAB_NEXT).setContent(new Intent(new Intent(this, DrawReportActivity.class)).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
));

看看和上面代码有何不同,不错就是这里:        .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)//就是这里起作用
下面解决进行页面传值的问题:
首先进行tab_host 向各个页面的传值:这个和普通的传值一样没有区别,

Intent intent_main = new Intent(this, DrawReportActivity.class);Bundle bundle = new Bundle();bundle.putInt("page", 1);intent_main.putExtras(bundle);tabHost.addTab(tabHost.newTabSpec(TAB_LAST).setIndicator(TAB_LAST).setContent(new Intent(intent_main).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));

在相应的DrawReportActivity获取这个数据就可以
其次进行不同actitvty 之间传值的说明:
比如在A.actitvty要求跳转到B.actitvty里面,这里这样进行的跳转:
TabTest.tabHost.setCurrentTabByTag(TabTest.TAB_LAST);
将上面代码里面的tabHost进行静态化,进行group的跳转过去,这样就显示需要跳转的页面了,传值呢?传值在这里可以采取进行广播的方法:

发送广播:

Intent it = new Intent(action1);
it.putExtra("url", et.getText().toString());
sendBroadcast(it);

在注册Androidmanifest.xml进行声明:

<receiver android:name="com.raq.tab.Broadcastreceiver"><intent-filter><action android:name="Broadcast_page_num" /></intent-filter>
</receiver>

得到相应的广播:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;public class Broadcastreceiver extends BroadcastReceiver {public String url;public void onReceive(Context context, Intent intent) {url = intent.getExtras().getString("url");}
}

进行传值,我觉得如果数据不是很多的话,完全可以写个静态类,进行存放一些数据,
这样跳转actitvty类得到时候进行同时的数据存放就可以了。

Android TabHost中Activity之间传递数据相关推荐

  1. android 不同activity之间传递数据

    1> 不同activity之间传递数据: Intent intent=new Intent(); intent.setClass(activity1.this,activity2.class); ...

  2. 不同Activity之间传递数据--Bundle对象和startActivityForResult方法的实现

    首先,由于Activity是Android四大组件之一,如果一个应用程序中包含不止一个Activity,则需要在AndroidManifest.xml文件中进行声明. 例如进行如下的声明(程序中包含两 ...

  3. Android中Activity之间的数据传递(Intent和Bundle)

    当一个Activity启动另一个Activity时,常常会有一些数据传过去,对于Activity之间的数据交换更简单,因为两个Activity之间进行数据传递交换更简单,因为两个Activity之间本 ...

  4. Android入门篇二:使用意图在Activity之间传递数据

    首先,在这里稍微介绍一下意图(Intent)的概念: Intent(意图)主要是解决Android应用的各项组件之间的通讯. Intent 负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述, ...

  5. android fragment传递数据,Android 两个Fragment之间传递数据实例详解

    Android 两个Fragment之间如何传递数据 FragmentA启动FragmentB,做一些选择操作后,返回FragmentA,需要把FragmentB里面选择的数据传回来.有什么办法? F ...

  6. Android 开发中使用Intent传递数据的方法

    Activity之间通过Intent传递值,支持基本数据类型和String对象及它们的数组对象byte.byte[].char.char[].boolean.boolean[].short.short ...

  7. AndroidStudio安卓原生开发_利用Activity的Intent 以及Bundle在activity之间传递数据---Android原生开发工作笔记91

    暂时不写内容,后边补上,因为工作太忙,先把图,以及重要的难点说明写出来,后边会修改成详细的文章

  8. Android Studio实现Activity之间传递参数

    目录 一.传递基本类型数据 (一)编辑MainActivity (二)编辑InfoActivity (三)布局 (四)效果 二.传递对象 (一)创建类 (二)编辑MainActivity (三)编辑I ...

  9. 大叔也说Xamarin~Android篇~Activity之间传递数组

    大叔也说Xamarin~Android篇~Activity之间传递数组 原文:大叔也说Xamarin~Android篇~Activity之间传递数组 我们在开发应用程序时,不可能只使用一个Layout ...

最新文章

  1. 怎么用迅雷下载python_我是如何使用python控制迅雷自动下载电影的?
  2. 设备树与驱动的关系_Linux I2C驱动竟然如此简单?手把手教你写i2c驱动
  3. ruby简单的基本 6
  4. Charles-proxy-4.2.1-win64 - 破解
  5. 网易架构师深入讲解Java开发!BAT等大厂必问技术面试题
  6. 图像算法移植到DSP及其优化步骤
  7. Django讲课笔记01:Django简介
  8. HTTP Status 400,400 (Bad Request)
  9. windows API 菜鸟学习之路(三)
  10. pytorch学习笔记(十二):权重衰减
  11. 模糊搜索简单算法fuzzywuzzy
  12. mysql优化 my.cnf_MySQL性能调优my.cnf详解
  13. 计算机时钟电路检查,数字电子时钟电路设计实训报告
  14. CH2-Java编程基础(7个案例实现)
  15. Mandriva小记
  16. 2014TI杯(D题)带啸叫检测与抑制的音频功率放大器
  17. 知识众筹服务平台网盘[入口]
  18. 智齿科技推首款智慧客服产品:机器人代替人工
  19. python批量下载qq邮箱文件
  20. 人民币换算美元java计算_美元和人民币换算(人民币转换美元计算)

热门文章

  1. EXCEL中与数据库打交道的好工具-JXL
  2. 一个简单python爬虫的实现——爬取电影信息
  3. obj是什么意思_为什么start方法会调用run方法?(为什么不能直接run来实现创建线程?)...
  4. 6个最热门的IT技术职位,薪资都有多高?
  5. vue delete删除json数组_Vue.set 和 Vue.delete
  6. 宏定义_do{...} while(0U)宏定义的作用和意义
  7. 2021年计算机二级考试广东卷英语,2021年广东计算机等级考试考试模拟练习卷.doc...
  8. delphi与java_Delphi XE8中Delphi和JAVA数据类型对应关系!
  9. nps browser0.95下载地址_飞兔跑腿app下载安装_飞兔跑腿软件最新版免费下载
  10. 如何搭建高性能视频网站