Android Activity内镶嵌Activity

这篇博客分享了如何在Android中实现一个Activity嵌套另一个Activity的代码示例,同时提到了在处理Back事件时遇到的困扰,即在主Activity和ViewPager中的子Activity之间监听事件的顺序问题。作者指出,通常主Activity的onKeyDown方法会被先执行,但子Activity的onKeyDown并不总是被调用,解决办法是在每个子Activity中单独监听onKeyDown事件。欢迎读者指正交流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接上代码:

private void initPagerView() {//初始化viewPager 和要添加的activity列表  Adapter 就是简单的PagerAdapter 这里就不贴了
    viewPager = (ViewPager) findViewById(R.id.main_viewpager);
    viewPager.setOffscreenPageLimit(4);
    Intent intent = new Intent(getApplicationContext(), Activity1.class);
    View v1 = getView(mlistTag[0], intent);
    mlistview.add(v1);
    Intent intent2 = new Intent(getApplicationContext(), Activity2.class);
    View v2 = getView(mlistTag[1], intent2);
    mlistview.add(v2);
    Intent intent3 = new Intent(getApplicationContext(), Activity3.class);
    View v3 = getView(mlistTag[2], intent3);
    mlistview.add(v3);
    Intent intent4 = new Intent(getApplicationContext(), Activity4.class);
    View v4 = getView(mlistTag[3], intent4);
    mlistview.add(v4);
    viewPager.setAdapter(new ViewPagerAdapter(mlistview));
    viewPager.setCurrentItem(0);
    viewPager.addOnPageChangeListener(onPageChangeListener);
}

下面这段代码主要用于获取activity的界面View对象 

/**
 * 通过activity获取视图
 *
 * @param id  tag标签,可随意设置但不要重复设置相同的
 * @param intent
 * @return
 */
private View getView(String id, Intent intent) {
    return mactivityManager.startActivity(id, intent).getDecorView();
}

这样Activity就完美的嵌套进去了   不过还是有会一些小的问题  

比如:监听back事件时  在哪个Activity里面监听。   这个问题   会先执行主Activity的onKeyDown方法  然后执行viewpager当前展示的activity里面的onKeyDown 但有时又不会执行当前展示的Activity里,(这个还没有弄明白,但是如果要在每一个子Activity执行操作就需要每一个子Activity里都监听okKeyDown);

第一次写博客 有啥不对的欢迎指正  谢谢 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值