TabActivity,ActivityGroup,ExpandableListActivity,ListView联合使用问题解决。

一、需求,在Tab的一页中根据其他页的设置切换ExpandableListActivity和ListView。

ListView:

ExpandableListActivity:


二、方案:Tab中使用ActivityGroup,用ActivityGroup控制ExpandableListActivity和ListView的切换。


这个是成功的代码,5步完成Activity显示。

@Override
protected void onResume() {
LinearLayout container = (LinearLayout) getWindow().findViewById(R.id.contacts_main_view);//1、得到ActivityGroup布局容器
container.removeAllViews();                                                                                                                       //2、去掉所有view。
if (mpatterManagr.isPatter(Defines.MyContactsPatterType.PATTER_EXPAND)) {
Intent intent = new Intent(this, ContactsListExpandActivity.class);
Window w1 = getLocalActivityManager().startActivity(EXPAND_AC,
intent);
container.addView(w1.getDecorView(), LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT);// (w1.getDecorView().getLayoutParams().);
} else {
Intent intent = new Intent(this, ContactsListIphoneActivity.class);                                              //3、获得要去的Activity。
Window w1 = getLocalActivityManager().startActivity(IPHONE_AC,                                           //4、通过LocalActivityManager前往,会返回一个window。
intent);
container.addView(w1.getDecorView());                                                                                         //5、把window的view传给ActivityGroup布局容器。
}


super.onResume();
}


三、问题:

1、切换代码需要放到onResume方法里面。tab切到ActivityGroup,进的是onResume方法。

2、需要为ActivityGroup创建一个xml布局文件,空的LinearLayout 就行,记得加个id。这里需要用到

3、ExpandableListActivity显示的时候,焦点出现问题,只能点字母那块。增加布局参数可以解决这个问题。

4、对象传递,用getParent()。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值