您的位置:首页 > 其它

安卓---Tabhost实现页面局部刷新--父页子页之间的传值

2016-05-12 10:10 288 查看
TabHost的实现分为两种,一个是不继承TabActivity,一个是继承自TabActivity;当然了选用继承自TabActivity的话就相对容易一些,下面来看看分别是怎样来实现的吧。

我只写继承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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: