首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    札记:Fragment基础

    app会在不同屏幕尺寸时动态选择在同一个Activity中同时显示文章列表和对应选择的文章的详情信息,或者单独的一个列表界面,选择一个文章后打开新Activity来显示文章详情。...标签指定的Fragment在Activity的布局加载中会被实例化,onCreateView()返回的View将替换元素在layout中的位置。...而这个方法在Fragment还未attached或已经detached后 期间均返回null。...在通过FragmentTransaction来执行有关fragment的事务时,可以通过addToBackStack()来添加此次事务的操作到回退栈中,这样以后,用户按下返回键后Activity的Fragment...,布局中同时提供了R.id.detail_container作为ArticleDetailFragment的容器,这样在选择查看某个标题时, 就会在同一个界面使用ArticleDetailFragment

    1.3K60

    《Android基础:Fragment,看这篇就够了》

    (),该方法返回Fragment的UI布局,需要注意的是inflate()的第三个参数是false,因为在Fragment内部实现中,会把该布局添加到container中,如果设为true,那么就会重复做两次添加...在一次事务中,可以做多个操作,比如同时做add().remove().replace()。 commit()操作是异步的,内部通过mManager.enqueueAction()加入处理队列。...上面的方法中,只有onCreateView()在重写时不用写super方法,其他都需要。...当用户点返回按钮回退事务时,F1会调onCreateView()->onStart()->onResume(),因此在Fragment事务中加不加addToBackStack()会影响Fragment的生命周期...如果要自定义对话框样式,只需要继承DialogFragment,并重写onCreateView(),该方法返回对话框UI。这里我们举个例子,实现进度条样式的圆角对话框。

    4K62

    Android 基础:Fragment,看这篇就够了 (上)

    (),该方法返回Fragment的UI布局,需要注意的是inflate()的第三个参数是false,因为在Fragment内部实现中,会把该布局添加到container中,如果设为true,那么就会重复做两次添加...在一次事务中,可以做多个操作,比如同时做add().remove().replace()。 commit()操作是异步的,内部通过mManager.enqueueAction()加入处理队列。...上面的方法中,只有onCreateView()在重写时不用写super方法,其他都需要。...当用户点返回按钮回退事务时,F1会调onCreateView()->onStart()->onResume(),因此在Fragment事务中加不加addToBackStack()会影响Fragment的生命周期...如果要自定义对话框样式,只需要继承DialogFragment,并重写onCreateView(),该方法返回对话框UI。这里我们举个例子,实现进度条样式的圆角对话框。

    6.2K40

    Android入门教程 | Fragment 基础概念

    onCreateView() 系统会在片段首次绘制其界面时调用此方法。如要为片段绘制界面,从此方法中返回的 View 必须是片段布局的根视图。如果片段未提供界面,可以返回 null。...如要为片段提供布局,必须实现 onCreateView() 回调方法,Android 系统会在片段需要绘制其布局时调用该方法。此方法的实现所返回的 View 必须是片段布局的根视图。...如要从 onCreateView() 返回布局,可以通过 XML 中定义的布局资源来扩展布局。为帮助您执行此操作,onCreateView() 提供了一个 LayoutInflater 对象。...但请注意,只有在该片段附加到 Activity 时才需调用 getContext()。如果尚未附加该片段,或者其在生命周期结束期间已分离,则 getContext() 返回 null。...界面时调用,返回值为Fragment要绘制布局的根视图,当然也可以返回null。

    3.5K40

    Kotlin甩掉findViewbyId,原理几何

    在 Android Studio 中,点击最顶部的 Tools -> Kotlin ,然后选择 Show Kotlin Bytecode,可以在右侧面板中看到对应的字节码,然后点击 Decompile...具体查找流程是这样的:在findCachedViewById()中,会先通过缓存 HashMap 的 get 方法来获取控件, get() 中传入的 key 即控件 ID,由于第一次 get 的值为 null...以上是在 activity 里面直接使用控件 ID,但是在 fragment 里面使用要注意的是,不能在onCreateView方法里用 view 的 ID,而是在 onViewCreated以后使用,...()的,如果是在onCreateView方法里使用控件 ID,这个时候getView()会返回 null,即 var10000为null,这样findCachedViewById()就返回空了。...因此,千万要注意 fragment 里面不能在onCreateView方法里用 view 的 ID。

    1.4K10

    鸿洋AutoLayout代码分析(三):入口类分析

    (String name, Context context, AttributeSet attrs) { View view = null; if (name.equals...= null) return view; return super.onCreateView(name, context, attrs); } } 我们可以发现,只是做了name...(自己理解静态内部类,一般内部类 就是和本来关系比较密切,在其他地方不需要调用,非静态内部类可以调用外部类的属性和方法, 比较方便。...Override这几个方法,而不从别的方法下手,自己以后再做考虑) 后面我们再说明下,是怎么通过AutoLayoutHelper把 传递值 和 计算 联系起来的 ---- AutoRelativeLayout...的接口, 传递 AutoLayoutHelper的实现 返回 AutoLayoutInfo 对象 ---- AutoLayoutInfo类 我们看看 AutoLayoutInfo 类 public

    56420

    【Android】再来一篇Fragment的懒加载(只加载一次哦)

    ,以后如果再重新打开该 Fragment 的话,就不要再重复的去加载数据了。...比如说,我下载完数据就直接需要对 ui 进行操作,将数据展示出来,但有时却报了 ui 控件 null 异常,这是因为 setUserVisibleHint() 有可能在 onCreateView() 创建...Fragment * view 的复用其实就是指保存第一次创建的 view,后面再 onCreateView() 时直接返回第一次创建的 view * * @param isReuse...首次可见时回调,可在这里进行加载数据,保证只在第一次打开Fragment时才会加载数据, * 这样就可以防止每次进入都重复加载数据 * 该方法会在 onFragmentVisibleChange...如果出现切换回来或不相邻的Tab切换时导致空白界面的问题,解决方法:在 onCreateView中复用布局 + ViewPager 的适配器中复写 destroyItem() 方法去掉 super。

    1.6K70

    Fragment基本使用

    ,通过inflater.inflate加载布局文件,接着返回其View 在需要加载Fragment的Activity对应布局文件中的name属性设为全限定类名,即包名.fragment 最后在Activity...()方法返回Fragment的UI布局,需要注意的是inflate()的第三个参数是false,因为在Fragment内部实现中,会把该布局添加到container中,如果设为true,那么就会重复做两次添加...对应的同步方法为commitNow(),commit()内部会有checkStateLoss()操作,如果开发人员使用不当(比如commit()操作在onSaveInstanceState()之后),可能会抛出异常...(getActivity()); textView.setText("上上下下的享受");//是电梯,别误会 4.2 传递数据给Activity 步骤流程: 在Fragment中定义一个内部回调接口...首先获取自己控件的引用 可以在onCreateView()中获取 public View onCreateView(LayoutInflater inflater, ViewGroup container

    2K30

    【Android】Fragment懒加载和ViewPager的坑

    圆形的旋转加载图标只有一个,所以,如果当前Fragment正处于加载状态,在离开该Fragment时需要隐藏加载动画,因为另一个Fragment并不一定处于加载状态,当返回Fragment时,如果还是处于加载状态...懒加载 懒加载意思也就是当需要的时候才会去加载 那么,为什么Fragment需要懒加载呢,一般我们都会在onCreate()或者onCreateView()里去启动一些数据加载操作,比如从本地加载或者从服务器加载...,不会报null异常 ?...另外,因为ViewPager缓存机制,所以题主进行了view的复用,防止onCreateView()重复的创建view,其实也就是将view设置为成员变量,创建view时先判断是否为null。...()里返回的view,修饰为protected,所以子类继承该类时,在onCreateView里必须对该变量进行初始化 */ protected View rootView;

    2K20
    领券