`

(转)[Android]Kotlin之Fragment中直接引用视图控件id

阅读更多

转自:https://blog.csdn.net/wxx_csdn/article/details/78261903

 

我看到网上有部分开发者写的关于这个问题的解决办法,但有误解,并不是他们所说的不适用,而是用法不对

部分开发者博客这么写到  获取kotlin的控件,只要在代码中输入对应的Id就行了。但是,对于fragment确并不适用 

这句话其它是不对的,要想直接使用控件id需要符合前置条件,就是对应的layout文件加载完毕后才可以直接使用控件id来操作,如果你在onCreateView()方法中去直接使用控件id去操作,肯定是空指针异常,因为return view还没有执行呢

在确保onCreateView()方法执行完毕后,就可以直接使用控件id来操作。

 

那么我们只要在onViewCreated()方法中去使用id操作就没问题,因为该方法执行时,说明onCreateView已经执行完了,View已经创建完毕了。

 

1、这是创建view

    override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {  
            val view = View.inflate(mContext, R.layout.layout_home, null)  
            return view  
        }  

 R.layout.layout_home 中的一个TextView

<TextView  
            android:id="@+id/tvName_Home"  
            android:layout_width="wrap_content"  
            android:layout_height="wrap_content" />

 2、View创建完成后就可以直接使用控件id来操作

    override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {  
            super.onViewCreated(view, savedInstanceState)  
            tvName_Home.text = "小明"  
        }  

  

分享到:
评论

相关推荐

    Kotlin-Android-Studio-Templates,Kotlin Android Studio模板-Kotlin中的模板集合.zip

    在Android Studio中,可以直接导入Kotlin-Android-Studio-Templates项目,然后将模板复制到相应的模板目录下,即可在创建新类时看到并使用这些模板。这不仅提高了开发速度,也有助于团队协作,因为所有成员都可以...

    Kotlin实现Android RecyclerView

    本教程将详细介绍如何在Android Studio中使用Kotlin实现RecyclerView。 首先,我们需要在AndroidManifest.xml文件中为Activity添加必要的权限。虽然在本例中没有具体提及,但通常情况下,如果涉及到网络数据加载,...

    Kotlin布局绑定

    它使得我们可以更加直接地将XML布局文件中的视图元素与Kotlin类中的属性关联起来,从而简化了Android应用的UI逻辑。本文将深入探讨Kotlin布局绑定的概念、优势以及如何在实际项目中应用。 首先,Kotlin布局绑定是...

    Android-Android上的Kotlin使用指南中译版

    1. **Android组件**:Kotlin可以无缝地与Android框架集成,如Activity、Fragment、Intent等,可以直接在Kotlin中创建和操作。 2. **Anko库**:Anko是JetBrains开发的库,简化了Android开发,如快速创建匿名内部类、...

    android kotlin mvvm

    MVVM(Model-View-ViewModel)是一种设计模式,源于经典的MVC(Model-View-Controller),在移动开发中尤其流行,特别是在Android的Kotlin环境中。它的主要目标是解耦视图(View)和业务逻辑(Controller/Presenter...

    fragment中嵌套fragment

    在Android应用开发中,Fragment是Android SDK提供的一种组件,它允许开发者在Activity中添加可动态管理的UI块。"fragment中嵌套fragment"这个话题,指的是在一个Fragment内部再添加一个或多个Fragment,以构建更复杂...

    Android中用代码设置控件属性的注意事项

    这个方法在`Activity`或`Fragment`中使用,返回指定ID的View对象,例如`TextView`, `Button`, `ImageView`等。 2. **设置属性的方法**:每个控件类都有对应的方法来设置其属性。例如,对于`TextView`,你可以使用`...

    Android 设置一个底部控件view随着软键盘的弹出而上移

    在Android开发中,当用户在应用中输入时,软键盘的弹出可能会遮挡底部的控件,导致用户体验下降。为了改善这种情况,开发者通常需要实现一个功能,使得底部的视图(如工具栏、按钮等)能够随着软键盘的弹出而上移。...

    Android-基于高德地图AndroidSDK进行封装配合Kotlin实现展示地图效果

    在Android应用开发中,地图功能是许多应用不可或缺的一部分。高德地图Android SDK为开发者提供了丰富的地图展示和操作功能。本文将深入探讨如何利用高德地图Android SDK与Kotlin结合,来实现高效、简洁的地图效果...

    Android-DateTimeRangePicker一个采用Kotlin编写的Android日期范围选择器

    接着,在布局文件中添加DateTimeRangePicker控件,并在对应的Activity或Fragment中初始化并设置回调: ```xml android:id="@+id/datetime_range_picker" android:layout_width="match_parent" android:layout_...

    Android可滑动视图,允许用户使用滑动手势执行操作_Kotlin_下载.zip

    通过创建`data class`来表示视图项的数据,然后在适配器中使用Anko的`bind`函数,可以直接将数据字段绑定到视图控件。 6. **事件回调**:在滑动动作完成后,通常需要更新数据源并通知适配器。Kotlin的`LiveData`和`...

    Android Kotlin环境使用ButterKnife的方法

    ButterKnife是一款非常受欢迎的Android视图注入库,它极大地简化了从XML布局文件中绑定视图到Activity、Fragment或自定义视图的过程。在Java环境中,使用ButterKnife可以避免大量的`findViewById()`调用,使得代码...

    fragment嵌套子fragment

    在Android开发中,Fragment是应用程序界面的一个模块化组件,它可以在Activity中添加、移除或替换,提供了在不同屏幕尺寸和设备配置上构建灵活用户界面的能力。Fragment嵌套子Fragment是一种常见做法,尤其是在构建...

    Android漂亮的日期选择控件

    3. **代码逻辑处理**:在对应的Activity或Fragment中,通过Java或Kotlin代码找到控件实例,设置监听器,以便在用户选择日期时捕获事件并进行相应的业务逻辑处理。 4. **样式自定义**:为了符合应用的整体风格,...

    Android中自定义实现IoC(控件注入、布局注入、事件注入)

    在传统的Android开发中,我们通常在Activity或Fragment中手动初始化UI控件,如TextView、Button等。控件注入则是通过第三方库或者自定义框架自动完成这些工作,使得开发者无需在业务代码中硬编码控件的实例化和绑定...

    Android-MaterialCounterView一个Android计数控件

    在Android应用开发中,UI元素的设计和交互是用户体验的关键因素之一。MaterialDesign是Google推出的一种设计规范,旨在提供一致、直观且美观的界面。MaterialCounterView是针对这种设计规范定制的一个Android计数...

    安卓Android源码——ViewPager+Fragment侧滑选项卡,浏览器控件,两次退出.zip

    在这个名为“安卓Android源码——ViewPager+Fragment侧滑选项卡,浏览器控件,两次退出”的项目中,开发者可能已经实现了以下关键知识点: 1. **ViewPager**: - `ViewPager` 是一个可以容纳多个 `Fragment` 的...

    Android-仿微信朋友圈展示图片的九宫格图片展示控件支持点击图片全屏预览大图

    在Android应用开发中,我们经常会遇到需要展示图片的场景,比如在模仿微信朋友圈的功能时,九宫格图片展示是一个常见的设计。这个特定的项目——"Android-仿微信朋友圈展示图片的九宫格图片展示控件支持点击图片全屏...

    动态加载控件android

    - **Java/ Kotlin 代码创建**: 直接通过代码创建 View 对象,例如 `new TextView(context)`,然后设置属性并添加到父容器中。 - **Fragment**: 对于更复杂的视图,可以使用 Fragment 进行动态加载,每个 Fragment ...

    Android-LightCalendarView一个轻量级的Android月日历视图

    2. **初始化视图**:在布局XML文件中添加LightCalendarView控件,并在Activity或Fragment中找到该视图,然后调用必要的初始化方法。 3. **定制样式**:通过设置属性或者扩展自定义样式,可以调整日历的颜色、字体、...

Global site tag (gtag.js) - Google Analytics