解决TabActivity中子页面不通过导航跳转到还有一个页面的问题

问题:当你的导航在TabActivity中 而子页面的一个button须要切换到当中的某一个导航页面

转载请注明出处:http://blog.csdn.net/x605940745

demo下载地址:http://download.csdn.net/detail/x605940745/7353695

package com.example.shows;

import android.app.TabActivity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TabHost;

/**
 * 解决TabActivity中子页面不通过导航跳转到还有一个页面的问题
 * @author xionglh
 *
 */
@SuppressWarnings("deprecation")
public class MainActivity extends TabActivity implements OnClickListener {

	private Intent aIntent;
	private Intent bIntent;
	private TabHost host;
	private Button show1;
	private Button show2;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		aIntent = new Intent(this, ActivityA.class);
		bIntent = new Intent(this, ActivityB.class);
		host = getTabHost();
		host.addTab(host.newTabSpec("a").setIndicator("a").setContent(aIntent));
		host.addTab(host.newTabSpec("b").setIndicator("b").setContent(bIntent));
		show1 = (Button) findViewById(R.id.bt_showa);
		show2 = (Button) findViewById(R.id.bt_showb);
		show1.setOnClickListener(this);
		show2.setOnClickListener(this);
		//注冊广播
		IntentFilter filter = new IntentFilter("com.example.shows.shows");
		TestRevice revice = new TestRevice();
		registerReceiver(revice, filter);

	}

	class TestRevice extends BroadcastReceiver {

		@Override
		public void onReceive(Context context, Intent intent) {
			//实现跳转
			host.setCurrentTabByTag("a");
		}

	}

	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		case R.id.bt_showa:
			host.setCurrentTabByTag("a");
			break;
		case R.id.bt_showb:
			host.setCurrentTabByTag("b");
		default:
			break;
		}
	}
}

 

package com.example.shows;

import android.app.Activity;
import android.os.Bundle;

public class ActivityA extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.a);
	}

}


 

package com.example.shows;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class ActivityB extends Activity {

	private Button show;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.b);
		show = (Button) findViewById(R.id.ss);
		show.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// 发送广播
				Intent intent = new Intent("com.example.shows.shows");
				sendBroadcast(intent);
			}
		});
	}

}


 


 

转载于:https://www.cnblogs.com/mengfanrong/p/3991304.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值