android嵌套fragment,如果fragment中界面的控件太多了怎么办

fragment界面中的seekbar(进度条)一共有60多条,这样做的话影响美观,有没有上面办法能解决,最好室友一个思路加上代码的实现,(类似的),或者可以通过上下页的按钮点击切换,不过这样做的代码怎么实现?用fragment嵌套fragment那样的话会不会起冲突?数据该如何保留图片说明图片说明如果有朋友做过类似的能否共享下代码

1个回答

嵌套理论上应该可以,问题应该不大,主要就是生命周期的处理可能麻烦

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
fragment中嵌套fragment
这是一个fragment嵌套fragment的demo,仅供参考。大神可以不必看
android fragment界面的添加
是这样,我新建了一个android应用的工程,在navigation type中我选了navigation drawer。rn新版的android SDK,在新建activity时,会自动生成一个Fragment,增加一个内部类PlaceholderFragment,同时有两个xml文件,activity_main.xml和fragment_main.xml,在activity_main.xml中有一个Framelayout(我想所有的fragment都应该添加到这个ViewGroup上吧。。。)rn然后我想实现,点击一个navigation drawer的section就调出一个fragment这样的效果。。。rn所以总体的架构就是说一个activity,里面有一个navigation drawer的fragment(自动生成的),有几个我自己写的fragment。。。rn于是,我新建了一个fragment1.xml,里面有些button之类的控件,然后新建了一个类rnfragment1.java:rnpublic class Fragment1 extends Fragment rnrn @Overridern public View onCreateView(LayoutInflater inflater, ViewGroup container,rn Bundle saveInstanceState) rn View rootView = inflater.inflate(R.layout.fragment1. container, false);rn return rootView;rn rnrn因为在网上查了资料“传入onCreateView()的container参数是你的fragmentlayout将被插入的父ViewGroup(来自activity的layout),传入container是很重要的, 目的是为了让系统接受所要加载的layout的根view的layout参数,由它将挂靠的父view指定.”rnrn我理解的这里挂靠的父view应该是activity_main.xml中的那个Framelayout吧,[color=#0000FF]我的问题是:怎样把我自己写的这个fragment挂靠到这个Framelayout上去呀,因为我写了上面的代码之后,出现了一个错误“The primitive type int of R.layout.fragment1 does not have a field container”[/color]rn这个问题困扰了我好几天,在网上看了好多也没有找到答案,新手对fragment的理解还不到位,求各位大神指点!!!rn谢谢谢谢!
Android在Fragment中嵌套(添加)Fragment
注意导包: import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; ParameterFragment parameterFragment = new Para
Android底部导航栏界面(Fragment中嵌套Fragment)
在前两篇博客中我提到了分段控件和底部导航栏功能,怎样做成如下的样子?也就是在底部导航栏的某一个Fragment中再添加一个分段控件,形成嵌套的Fragment界面。如下图所示:
Fragment界面的切换
左侧是个listview,右侧FrameLayout,点击左侧切换右侧界面,仿照手机淘宝的物品栏,这是个小DEMO
在fragment中嵌套fragment的注意事项
在fragment中嵌套fragment,有一个需要注意,即获得FragmentManager时,在activity中,可能使用getSupportFragmentManager()方法就可以了,但是在fragment中,需要使用getChildFragmentManager()方法。 ViewPagerAdapter adapter = new CollectFragment.ViewPa
fragment嵌套fragment和滑动菜单
fragment嵌套fragment 和 滑动菜单
fragment嵌套fragment
我用fragment做了个底部导航栏,然后在其中一个fragment中嵌套fragment。当我切换到其他fragment在回到嵌套了的fragment的页面时,程序会闪退,并报错说fragment中的fragment为空。rnrn android.view.InflateException: Binary XML file line #16: Error inflating class fragmentrnCaused by: java.lang.IllegalArgumentException: Binary XML file line #16: Duplicate id 0x7f0e007b, tag null, or parent id 0xffffffff with another fragment for com.graduation_design.maple_xu.cycle.CycleViewPagerrn
Fragment嵌套Fragment
[code=java]package com.example.android_firstcos.Fragment;rnrnimport java.util.ArrayList;rnrnimport android.os.Bundle;rnimport android.support.v4.app.Fragment;rnimport android.support.v4.view.ViewPager;rnimport android.util.DisplayMetrics;rnimport android.view.LayoutInflater;rnimport android.view.View;rnimport android.view.View.OnClickListener;rnimport android.view.ViewGroup;rnimport android.view.animation.Animation;rnimport android.view.animation.TranslateAnimation;rnimport android.widget.ImageView;rnimport android.widget.TextView;rnrnimport com.example.android_firstcos.R;rnimport com.example.android_firstcos.Fragment.mainFragment.ShouYeFragment;rnimport com.example.android_firstcos.FragmentAdapter.MyFragmentAdapter;rnrnpublic class MainFragment extends Fragment rn private TextView SHOUYE, BIAOQIAN;rn private ImageView XIAHUAXIAN;rn private ViewPager mViewPager;rn private ArrayList list;rn private int index;rn private int max;rn private int flag = 0;rnrn @Overridern public void onCreate(Bundle savedInstanceState) rn // TODO Auto-generated method stubrn super.onCreate(savedInstanceState);rnrn rnrn @Overridern public View onCreateView(LayoutInflater inflater, ViewGroup container,rn Bundle savedInstanceState) rn // TODO Auto-generated method stubrn View view = inflater.inflate(R.layout.mainfragment, container, false);rn mViewPager = (ViewPager)container.findViewById(R.id.vPage);rn SHOUYE = (TextView) container.findViewById(R.id.textView2);rn BIAOQIAN = (TextView) container.findViewById(R.id.textView3);rn XIAHUAXIAN = (ImageView) container.findViewById(R.id.imageView1);rn InitData();rn InitViewPager();rn SHOUYE.setOnClickListener(new MyMainFragmentOnClickListener());rn BIAOQIAN.setOnClickListener(new MyMainFragmentOnClickListener());rn return view;rn rnrn private void InitData() rn DisplayMetrics dm = new DisplayMetrics();rn getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);rn max = dm.widthPixels;rn index = (int) (max / 4.0);rn rnrn private void InitViewPager() rn list = new ArrayList();rn list.add(new ShouYeFragment());rn list.add(new ShouYeFragment());rn System.out.println(list.toString());rn mViewPager.setAdapter(new MyFragmentAdapter(getChildFragmentManager(),rn list));rn mViewPager.setCurrentItem(0);rn mViewPagerrn .setOnPageChangeListener(new MyMainFragmentOnPageChangeListener());rn rnrn private class MyMainFragmentOnClickListener implements OnClickListener rn @Overridern public void onClick(View arg0) rn // TODO Auto-generated method stubrn mViewPager.setCurrentItem(0);rn rn rnrn private class MyMainFragmentOnPageChangeListener implementsrn ViewPager.OnPageChangeListener rnrn @Overridern public void onPageScrollStateChanged(int arg0) rn // TODO Auto-generated method stubrn rnrn @Overridern public void onPageScrolled(int arg0, float arg1, int arg2) rn // TODO Auto-generated method stubrn rnrn @Overridern public void onPageSelected(int arg0) rn // TODO Auto-generated method stubrn Animation animation = null;rn switch (arg0) rn case 0:rn if (flag == 1) rn animation = new TranslateAnimation(index, 0, 0, 0);rn rn break;rnrn case 1:rn if (flag == 0) rn animation = new TranslateAnimation(0, index, 0, 0);rn rn break;rnrn default:rn break;rn rn flag = arg0;rn animation.setFillAfter(true);rn animation.setDuration(300);rn XIAHUAXIAN.startAnimation(animation);rn rnrn rnrn[/code]rn提示我空指针[img=https://img-bbs.csdn.net/upload/201406/21/1403343691_609971.jpg][/img] 求大神帮忙rnmViewPager.setAdapter(new MyFragmentAdapter(getChildFragmentManager(),rn list));这行报空指针
fragment嵌套fragment问题
有这么一个场景,在主activity有两按钮,A和B,A是add fragment, B是remove fragment,有个自定义的Myfragment,这个Myfragment的布局文件是另外一个自定义的fragment。rnrn我现在的问题是add fragment后没问题,remove fragment也没问题,但是当第二次再add fragment程序就崩溃了。看log问题是处在Myfragment布局里的自定义fragment的问题,因为我要是改成其他view类控件,就完全没有问题。rnrnrn求大神帮忙。
Fragment 嵌套Fragment注意事项
最近项目新功能需要在垂直方方向可以循环滚动,并且水平方向也可以水平循环滚动,并且可以定位到指定item上。很自然的想到了ViewPager和 VerticalViewPager来解决项目需求,UI的大致结构如下  以下垂直方向滚动的ViewPager所在的Fragment成为A,水平方向滚动的ViewPager所在的Fragment成为B!  1、循环滚动的实现  要实现循环滚动的原
Fragment内嵌套Fragment
Fragment内嵌套Fragment之间的切换
Android Fragment的嵌套
分享一个Fragment选项卡嵌套,外加左侧滑的代码。
android Fragment嵌套问题
现在有一个主Activity,下面放置了四个按钮,分别对应四个页面Fragment1、Fragment2、Fragment3、Fragment1,然后在第一个页面(Fragment1)里又用一个Fragment,里面放置了两个按钮,分别对应两个页面FragmentA、FragmentB。rn现在,主Activity下面四个按钮的功能已经实现,但是,在第一个页面(Fragment1)中,我又有两个按钮,这两个按钮切换FragmentA、和FragmentB页面的功能不知道怎么实现,请高手指点。
Fragment实时更新界面的问题。
[img=https://img-bbs.csdn.net/upload/201510/21/1445409629_809020.jpg][/img]rn整个界面的布局是Activity中有一个fragment,fragment在右面如图所示,activity中的数据是实时刷新的,通过反复调用displayactivityinfo(A a)这个方法实现的,现在的目的是把数据也同步更新到fragment中,通过fragment中的displayfragmentinfo(A a)不断的更新界面,我一开始是在displayactivityinfo(A a)里写了这样的代码rn AFragment fragment = new AFragment();rn Bundle bd = new Bundle();rn bd.putSerializable("A", a);rn stockBetsFragment.setArguments(bd);rn getFragmentManager().beginTransaction().replace(R.id.cjdetails_and_5bs,fragment).commit();rn这样虽然可以实时更新数据,但是每次切到交易详细的界面1s左右就会跳回来,因为生成了新的fragment替换掉了之前的,所以现在我的需求是只实例化一个fragment,实时更新界面,怎么做才好?
关于Fragment里面嵌套fragment
关于这个,其实我以前做过,但是又忘记了,然后找网上的DEMO,发现不尽如意,然后找了一下以前的DEMO,发现我保存下来了。 看来以后要勤写博客,牢记那些以前用过的东西。
fragment嵌套viewPager中放fragment
fragment嵌套viewPager,viewpager中也是fragment切换。
Fragment嵌套Fragment遇到的问题
前几天做项目,有个页面是fragment 下面是ViewPager里面嵌套Fragment的页面刚开始在ViewPager的adapter里传入的是getFragmentManager()但是后来发现第一次进入这个页面显示正常,退出当前页面再进来的时候,ViewPager里面的Fragment的内容不见了,不见了。。,什么都不显示,很纳闷,后来找到解决方法,把getFragmentManager()
Fragment里面嵌套Fragment注意事项
在activity里面fragment对事物管理是 FragmentTransaction transaction =getSupportFragmentManager().beginTransaction(); 在fragment里面使用的使用是: FragmentTransaction transaction = getChildFragmentManager().beginTran...
fragment嵌套fragment显示数据
当碰到多个fragment嵌套需要显示数据的时候,fragmentManager需要使用getChildFragmentManager()来获得,否侧会出现数据显示不出来的情况;
fragment里面嵌套另一个fragment
最近换了工作,说白了,就是去填坑啦,首页改版,原来是viewpager+标签切换滑动实现,现在改成popupwindow+recyclerview实现,为了减少工时,我在原来的基础上复用了fragment,即需要实现在一个fragment里面嵌入另一个fragment。FragmentTransaction ft = getChildFragmentManager().beginTransacti...
Fragment嵌套
fragment嵌套 能够使用。完整开发
,fragment嵌套
仿饿了么,fragment嵌套功能,购物车添加商品等等
fragment 嵌套
fragment 嵌套fragment 嵌套fragment 嵌套fragment 嵌套fragment 嵌套
Fragment 中嵌套Fragment,更新数据,UI
在做项目的时候,功能是Fragment中有一个viewpager,viewpager中每一个又都是一个Fragment,记为fragment1,fragment2,fragment3。 这时fragment2中有一个功能,是点击里面的一个button,做一些操作,到返回时,要更新fragment2界面。 关键:只需要更新fragment2 查阅一些资料,最后的解决方案记录如下:
Fragment中嵌套Fragment不显示问题
嵌套的Fragment 不能使用getFragmentManager(),必须使用getChildFragmentManager() 
Fragment中嵌套Viewpager
Fragment中嵌套Viewpager
Android Fragment嵌套ViewPager,ViewPager嵌套多个Fragment
Android Fragment嵌套ViewPager,ViewPager嵌套多个Fragment,Fragment的多层嵌套。csdn博客讲解地址:http://blog.csdn.net/qq_24956515/article/details/50990506
Fragment嵌套Fragment时候。子类fragment调用父容器Fragment方法
业务场景:有的时候我们的页面可能是Activity 嵌套多个Fragment ..其中某个Fragment 又嵌套多个Fragment。 其中某个子Fragment  定义为  NewsFragment  。父容器 Fragment 定义为 ShouYeMainFragment ShouYeMainFragment  嵌套   NewsFragment  。此时如果NewsFragment  
fragment中嵌套fragment,切换底部导航栏,子fragment数据消失
随着导航栏的切换,子fragment没有刷新数据,我的话是由于使用了activity的getfragmentmanager,使用fragment的getChildFragmentManager数据可以重新刷新
Android Fragment中嵌套Fragment不显示问题
最近在写项目的时候,遇到了一个小bug,没有及时找到原因卡住了我好几个小时,一直没有找到原因,就是Fragment 中嵌套Fragment中,界面显示不出来, 这个时候,后来一直检查一直检查不出来代码的问题,后面发现原来,是Fragment中嵌套Fragment中getFragmentManaget的问题,后面把他替换为为getChildFragmentManager() 后,问题还是没有解决...
android中fragment中嵌套viewpager运行报错
在fragment中嵌套了一个viewpager之后运行老是报错,直接在activity中嵌套就不会报错。一直没弄明白是怎么回事。求大神讲解、rnMain代码:rn[code=java]import android.app.Activity;rnimport android.os.Bundle;rnimport android.app.Fragment;rnimport android.support.v4.app.FragmentActivity;rnimport android.support.v4.app.FragmentManager;rnimport android.support.v4.app.FragmentTransaction;rnrnimport com.days.fragment.MyView;rnrnpublic class Main extends FragmentActivity rnrn FragmentManager manager;rn FragmentTransaction transaction;rn protected void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.main);rn manager = getSupportFragmentManager();rn transaction = manager.beginTransaction();rn MyView myView = new MyView();rn transaction.replace(R.id.main,myView);rn transaction.commit();rn rn[/code]rnFragment代码:rn[code=java]import android.os.Build;rnimport android.os.Bundle;rnimport android.support.annotation.Nullable;rnimport android.support.v4.app.Fragment;rnimport android.support.v4.view.ViewPager;rnimport android.view.LayoutInflater;rnimport android.view.View;rnimport android.view.ViewGroup;rnimport android.view.WindowManager;rnimport android.widget.Button;rnimport android.widget.TextView;rnrnimport com.days.R;rnimport com.days.adapter.MyAdapter;rnimport java.util.ArrayList;rnimport java.util.List;rnrnrnpublic class MyView extends Fragment implements View.OnClickListenerrnrn ViewPager mViewPager;rn List frag_list=new ArrayList();rn Button page_1_btn,page_2_btn,page_3_btn,page_4_btn,page_5_btn;rn public View onCreateView(LayoutInflater inflater, ViewGroup container,rn Bundle savedInstanceState) rn View view = inflater.inflate(R.layout.view, null);rn getView();rn if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)rn //透明状态栏rn getActivity().getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);rn rn initView();rn initViewPage();rn initEvent();rn return view;rn rn private void initEvent() rn page_1_btn.setOnClickListener(this);rn page_2_btn.setOnClickListener(this);rn page_3_btn.setOnClickListener(this);rn mViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() rn /**rn *ViewPage左右滑动时rn */rn @Overridern public void onPageSelected(int arg0) rn int currentItem = mViewPager.getCurrentItem();rn switch (currentItem) rn case 0:rn resetImg();rn page_1_btn.setBackgroundResource(R.drawable.health2);rn break;rn case 1:rn resetImg();rn page_2_btn.setBackgroundResource(R.drawable.outdoor2);rn break;rn case 2:rn resetImg();rn page_3_btn.setBackgroundResource(R.drawable.note2);rn break;rn default:rn break;rn rn rnrn @Overridern public void onPageScrolled(int arg0, float arg1, int arg2) rnrn rnrn @Overridern public void onPageScrollStateChanged(int arg0) rnrn rn );rn rnrn /**rn * 初始化设置rn */rn private void initView() rn // 初始化三个按钮rn page_1_btn = (Button)getView().findViewById(R.id.page_1_btn);rn page_2_btn = (Button)getView().findViewById(R.id.page_2_btn);rn page_3_btn = (Button)getView().findViewById(R.id.page_3_btn);rn rnrn /**rn * 初始化ViewPagern */rn private void initViewPage() rnrn // 初妈化四个布局rn List fragments=new ArrayList();rn fragments.add(new Pager_1());rn fragments.add(new Pager_2());rn fragments.add(new Pager_3());rn MyAdapter adapter = new MyAdapter(getActivity().getSupportFragmentManager(), fragments);rnrn //设定适配器rn mViewPager = (ViewPager)getView().findViewById(R.id.main_pager);rn mViewPager.setAdapter(adapter);rn rnrn /**rn * 判断哪个要显示,及设置按钮图片rn */rn @Overridern public void onClick(View arg0) rnrn switch (arg0.getId()) rn case R.id.page_1_btn:rn mViewPager.setCurrentItem(0);rn resetImg();rn page_1_btn.setBackgroundResource(R.drawable.health2);rn break;rn case R.id.page_2_btn:rn mViewPager.setCurrentItem(1);rn resetImg();rn page_1_btn.setBackgroundResource(R.drawable.outdoor2);rn break;rn case R.id.page_3_btn:rn mViewPager.setCurrentItem(2);rn resetImg();rn page_1_btn.setBackgroundResource(R.drawable.note2);rn break;rn default:rn break;rn rn rnrn /**rn * 把所有图片变暗rn */rn private void resetImg() rn page_1_btn.setBackgroundResource(R.drawable.health);rn page_2_btn.setBackgroundResource(R.drawable.outdoor);rn page_3_btn.setBackgroundResource(R.drawable.note);rn rnrnrn[/code]rn两个Layout代码:rn[code=text]rnrnrnrn[/code]rnrn[code=text]rnrnrn rn rn "rnrn rnrn[/code]
[android] Fragment嵌套与返回键问题
问题是这样的,我的项目有一个Activity,里面放的是viewpager,viewpager的每个页面都是一个Fragment,我们这里称他为"母Fragment",然后每个"母Fragment"上又是嵌套着几个"子Fragment",现在问题来了,在当前页面按back建进行当前页面的子Fragment之间的切换,会同时影响到其他其他页面的子Fragment,请问各位大大这问题怎么解决,[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/monkey/11.gif][/img]
Android编程fragment嵌套问题
我在第一层fragment里嵌套了两个子fragment,运行之后第一次点击到第一层fragment,可以显示对应的两个子fragment的内容,但是切换到第一层别的fragment之后再切换回来,这层的两个子fragment都无法显示了。我看了两个fragmen的生命周期,发现选中之后执行到onResume,之后点击到另一个时没有onPause及其之后的周期rnrn其中相关代码如下rn@Overridern public void onCheckedChanged(RadioGroup group, int checkedId) rn Log.i(TAG, "onCheckedChanged: " + "checkedId:" + checkedId);rn switch (checkedId) rn case R.id.faqi:rn// System.out.println("我发起的");rn setChioceItem(0);rn break;rn case R.id.canyu:rn// System.out.println("我参与的");rn setChioceItem(1);rn break;rn rn rnrn private void setChioceItem(int index) rn FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();rn// clearChioce(); // 清空, 重置选项, 隐藏所有Fragmentrn// Log.i(TAG, "setChioceItem: " + (sponsorGroupActivityFragment == null) + " " + (participateGroupActivityFragment == null));rn hideFragments(fragmentTransaction);rn switch (index) rn case 0:rn if (sponsorGroupActivityFragment == null) rn sponsorGroupActivityFragment = new SponsorGroupActivityFragment();rn fragmentTransaction.add(R.id.discovery_frag_frag, sponsorGroupActivityFragment);rn else rn// 如果不为空,则直接将它显示出来rn fragmentTransaction.show(sponsorGroupActivityFragment);rn rn break;rn case 1:rn if (participateGroupActivityFragment == null) rn participateGroupActivityFragment = new ParticipateGroupActivityFragment();rn fragmentTransaction.add(R.id.discovery_frag_frag, participateGroupActivityFragment);rn else rn// 如果不为空,则直接将它显示出来rn fragmentTransaction.show(participateGroupActivityFragment);rn rn break;rn rn fragmentTransaction.commit(); // 提交rn rnrn private void hideFragments(FragmentTransaction fragmentTransaction) rn if (sponsorGroupActivityFragment != null) rn fragmentTransaction.hide(sponsorGroupActivityFragment);rn rn if (participateGroupActivityFragment != null) rn fragmentTransaction.hide(participateGroupActivityFragment);rn rn
Android Fragment嵌套使用Demo
Android ViewPager+Fragment嵌套使用Demo
[android] Fragment嵌套与返回键问题
问题是这样的,我的项目有一个Activity,里面放的是viewpager,viewpager的每个页面都是一个Fragment,我们这里称他为"母Fragment",然后每个"母Fragment"上又是嵌套着几个"子Fragment",现在问题来了,在当前页面按back建进行当前页面的子Fragment之间的切换,会同时影响到其他其他页面的子Fragment,请问各位大大这问题怎么解决,
android 控件 fragment 生命周期
fragment的生命周期 onAttach 当fragment被加入到activity时调用(在这个方法中可以获得所在的activity)。 系统创建fragment的时候回调他,在他里面实例化一些变量 这些个变量主要是:当你 暂停 停止的时候 你想保持的数据 如果我们要为fragment启动一个后台线程,可以考虑将代码放于此处。 参
android控件之Fragment(碎片)
Fragment生命周期图: 通过demo来学习fragment实现几个界面的交互 如下: 1、新建module,在activity_main.xml布局文件下添加几个按钮button。2、在layout下写几个布局//一个按钮的布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" an
主界面的Fragment切换之使用RadioGroup配合切换Fragment
package com.heima.oschina;import android.os.Bundle; import android.support.v4.app.FragmentTabHost; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Frame
主界面的Fragment切换之使用FragmentTabHost配合切换Fragment
package com.heima.oschina;import android.os.Bundle; import android.support.v4.app.FragmentTabHost; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Frame
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池