• 解决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);
    			}
    		});
    	}
    
    }
    


     


     

  • 相关阅读:
    软件:IIS上配置CGI
    腾讯RTX二次开发相关的一些注意事项
    ABP从入门到精通(3):aspnet-zero-core 使用Redis缓存
    ABP从入门到精通(2):aspnet-zero-core 使用MySql数据库
    ABP从入门到精通(1):aspnet-zero-core项目启动及各项目源码说明
    nodejs-ORM 操作数据库中间件waterline的使用
    nodejs-日志组件log4js的使用方法
    使用 Live555 搭建流媒体服务器
    如何在Windows资源管理器右键菜单中 添加CMD
    .NET 通过 Autofac 和 DynamicProxy 实现AOP
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/3991304.html
Copyright © 2020-2023  润新知