您的位置:首页 > 其它

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

2014-09-24 18:15 369 查看
问题:当你的导航在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);
}
});
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: