求助!如何在viewpager中打开新的activity,而不是重新打开一个全屏的activity

时间:2021-09-08 23:42:35
各位大神,小弟在学习安卓的过程中遇到一个小问题,想跟各位请教一下:
程序的主界面如下:
上面的一排4个标签页,点击或者滑动之后会切换不同的页面。
求助!如何在viewpager中打开新的activity,而不是重新打开一个全屏的activity
其中,第一个标签页的样式如下:
求助!如何在viewpager中打开新的activity,而不是重新打开一个全屏的activity
其中的黑色区域为一个按钮,每次点击后,里面的数字加一。

那么问题来了,当我用下面这句代码去启动第一个页面的时候

Intent intent=new Intent(MainActivity.this,page_01.class);
startActivity(intent);

页面会以全屏的形式打开,而我想要的是就 在主界面的淡蓝色区域内打开这个页面,在实际程序运行中,第一个标签页内显示的内容就是图片2中的那个记录数量的黑框框,但是如果不用上面的代码的时候,按钮点击是无效的,数字不会增加,如果用上面的代码打开新界面的时候,又会以全屏的方式打开新界面而覆盖掉之前的标签页,有没有什么办法解决呢?跪求各位大神指导,谢谢大家。

5 个解决方案

#1


为什么要启动一个新的activity了,你可以把一个一个的View填充到viewpager中啊,这样切换viewpager 的时候,就可以显示你想需要的东西了,是包含在viewpager中的。。。

#2


引用 1 楼 u012301841 的回复:
为什么要启动一个新的activity了,你可以把一个一个的View填充到viewpager中啊,这样切换viewpager 的时候,就可以显示你想需要的东西了,是包含在viewpager中的。。。

需要如何去填充呢,能不能麻烦您详细的说一下呢,谢谢了

#3


……你这是开了个新的activity吧

viewpager不是干这个的,你这个直接用tabhost就可以了

#4


引用 3 楼 qaserfvvbbert 的回复:
……你这是开了个新的activity吧

viewpager不是干这个的,你这个直接用tabhost就可以了


是的,我后来又看了看材料,果然是用错方法了,谢谢你的回答

#5


 //将要分页显示的View装入数组中
        LayoutInflater mLi = LayoutInflater.from(this);
        View view1 = mLi.inflate(R.layout.main_tab_weixin, null);
        View view2 = mLi.inflate(R.layout.main_tab_address, null);
        View view3 = mLi.inflate(R.layout.main_tab_friends, null);
        View view4 = mLi.inflate(R.layout.main_tab_settings, null);
        
      //每个页面的view数据
        final ArrayList<View> views = new ArrayList<View>();
        views.add(view1);
        views.add(view2);
        views.add(view3);
        views.add(view4);

这样加载进去,就可以按你想要的显示了。

#1


为什么要启动一个新的activity了,你可以把一个一个的View填充到viewpager中啊,这样切换viewpager 的时候,就可以显示你想需要的东西了,是包含在viewpager中的。。。

#2


引用 1 楼 u012301841 的回复:
为什么要启动一个新的activity了,你可以把一个一个的View填充到viewpager中啊,这样切换viewpager 的时候,就可以显示你想需要的东西了,是包含在viewpager中的。。。

需要如何去填充呢,能不能麻烦您详细的说一下呢,谢谢了

#3


……你这是开了个新的activity吧

viewpager不是干这个的,你这个直接用tabhost就可以了

#4


引用 3 楼 qaserfvvbbert 的回复:
……你这是开了个新的activity吧

viewpager不是干这个的,你这个直接用tabhost就可以了


是的,我后来又看了看材料,果然是用错方法了,谢谢你的回答

#5


 //将要分页显示的View装入数组中
        LayoutInflater mLi = LayoutInflater.from(this);
        View view1 = mLi.inflate(R.layout.main_tab_weixin, null);
        View view2 = mLi.inflate(R.layout.main_tab_address, null);
        View view3 = mLi.inflate(R.layout.main_tab_friends, null);
        View view4 = mLi.inflate(R.layout.main_tab_settings, null);
        
      //每个页面的view数据
        final ArrayList<View> views = new ArrayList<View>();
        views.add(view1);
        views.add(view2);
        views.add(view3);
        views.add(view4);

这样加载进去,就可以按你想要的显示了。