首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么setContentView(R.layout.activity_main)和findViewById(R.id.example)不使用点符号来引用对象?

setContentView(R.layout.activity_main)和findViewById(R.id.example)不使用点符号来引用对象的原因是因为它们是Android开发中的方法,而不是对象的属性或方法。

  1. setContentView(R.layout.activity_main):
    • 概念:setContentView()是一个Activity类的方法,用于设置当前Activity的布局文件。
    • 分类:属于Android开发中的UI布局相关方法。
    • 优势:通过设置布局文件,可以将界面与代码进行分离,提高代码的可读性和维护性。
    • 应用场景:在Activity的onCreate()方法中调用setContentView()方法,将指定的布局文件加载到当前Activity中。
    • 腾讯云相关产品和产品介绍链接地址:无。
  • findViewById(R.id.example):
    • 概念:findViewById()是一个View类的方法,用于在布局文件中查找指定的视图对象。
    • 分类:属于Android开发中的UI控件相关方法。
    • 优势:通过findViewById()方法,可以在代码中获取布局文件中定义的各种UI控件对象,以便进行后续的操作。
    • 应用场景:常用于在Activity中获取布局文件中的控件对象,并进行事件监听、数据绑定等操作。
    • 腾讯云相关产品和产品介绍链接地址:无。

总结:setContentView()和findViewById()是Android开发中常用的方法,用于设置布局文件和获取布局文件中的控件对象。它们不使用点符号来引用对象是因为它们是方法而不是对象的属性或方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Android】Handler 使用

0x12 为什么使用Handler 当一个应用程序运行时,它会创建一个进程。这个进程就是我们的主线程(UI线程&Activity Thread) 。...这就是为什么我们需要在主线程中更新UI。 Android在设计的过程中,就封装了一套消息创建、传递、处理的机制。如果遵循这样的机制,是没有办法更新UI信息的,会抛出异常信息。...public void setData(*Bundle data):设置一个任意数据值的Bundle对象。如果可以,使用arg1arg2域发送一些整型值以减少消耗。...可以同时使用静态内部类引用,当一个对象只被弱引用依赖时它便可以被GC回收。...注意,要static引用要同时使用,否则由于非静态内部类隐式持有了外部类Activity的引用,而导致Activity无法被释放。

93620
  • 移动架构-IOC架构设计

    通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的外界实体,将其所依赖的对象引用传递给它。...也可以说,依赖被注入到对象中 注入布局 首先是注入布局,这也是注入中相对简单的注入 在没有使用注入的时候,会使用setContentView(R.layout.activity_main);去加载布局...setContentView完成布局注入了 控件注入 控件注入如同布局注入一样,不使用findViewById()方法,再要注入的控件加入id即可 控件注入注解 @Retention(RetentionPolicy.RUNTIME...() { @Override public void onClick(View v) { } }); 这里使用注入,其过程比布局控件注入稍微复杂一,这是考虑到了扩展性...,不能单一使用id完成注解 事件的监听包含事件源,事件回调,因此其注解就稍微复杂一,这里设计一个监听各种点击事件的监听,包括普通单击,长按,itemclick等 首先依旧是需要一个注解 @Retention

    77441

    Android Jetpack - ViewModel

    ViewModel 简述 ViewModel 旨在以生命周期感知的形式存储管理 UI 控制器(Activity/Fragment 等)相关的数据,可以解决 UI 控制器中数据无法正确保留以及数据在其复杂的生命周期中难以维护的痛...,它的生命周期感知能力需要配合 Lifecycles 组件才能实现,本文聚焦于 ViewModel 所以先不讲 Lifecycles ,关于 Lifecycles 我会在其它文章详细介绍 为什么使用 ViewModel...中持有任何 Activity、Fragment 或 View 的引用,因为大部分情况 ViewModel 的生命周期比它们都长,持有一个已经销毁对象引用意味着内存泄露,对于必须使用 Context 的...{ super.onCreate(savedInstanceState) setContentView(R.layout.activity_main)...{ super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) if (viewModel.startTime

    85720

    Android 中的LayoutInflater(布局服务)

    答:一个用于加载布局的系统服务,就是实例化与Layout XML文件对应的View对象,不能直接使用, 需要通过getLayoutInflater( )方法或getSystemService( )方法获得与当前...但是建议大家完全地使用Java代码编写Android页面布局,首先一就是代码会多, 一多久容易乱,而且不利于业务的分离,我们还是建议使用xml完成布局,然后通过 Java代码对里面的组件进行修改...,当然有些时候可能需要使用Java动态的添加组件!...(rly); } } ——step 4: 调用setContentView( )方法加载布局对象即可!...3.Java代码动态添加控件或xml布局 第二我们讲解了使用纯Java代码加载布局,实际当中用得并不多,更多的时候是动态 的添加View控件以及动态的加载XML布局!

    82110

    ★ Android基础篇-你应该知道的Android Interface

    接口可以实现多个,可以通过接口实现不同的方法,这个接口可以看作是一些功能(类的本身不具有这个功能,则它可以通过实现一些接口实现这个功能) 注意 使用接口一定要有回调!... 接口一般定义的是常量一些抽象方法。... 在引用接口时,接口的引用指向实现的对象,尽量定义为接口或父类的引用。这其中有可能用到多态的知识。引用接口用implements。...常量是public static final 修饰的 通过implements引用接口。...接口的引用指向实现的对象。 一个类可以实现多个无关的接口(这点继承要有所区别) 继承一样,接口与实现类之间存在多态性。 接口可以继承其他的接口,并添加新的属性抽象方法。

    1.2K30

    Android完美解析setContentView 你真的理解setContentView吗?「建议收藏」

    源码分析: 说到Activity的setContentView,咱们直接找到一个Activity中的setContentView进去看看!...老二老三也非常的清晰,我们不是传入布局的id,而是传入一个View,mContentParent通过addView(view)加载布局,那么这个老大通过反射加载布局有什么区别吗? 答案肯定是有!...例子: 我们现在就来模拟一个需求,比如用户在MainActivity填写一个表单,这个表单有姓名电话两个字段,当用户填完之后我们要进行提交,但是在提交之前我们希望有一个确认表单的页面让用户确认一下信息是否填对...上面,我们在点击了重填按钮后,我们的setContentView使用的是老大,即setContentView(int id),回想刚才我们分析的源码,老大是通过反射拿到我们的view,而每次反射拿到的view...都不是同一个view,也就是说我们在onCreate中setContentViewR.layout.activity_main)和在点击了重填后setContentViewR.layout.activity_main

    1.4K30

    安卓入门-第三章-安卓常用控件的使用方式

    -> 使用findViewById方法根据R文件创建Buttion对象引用 -> Button对象调用setclickListener()方法,参数为重写了Onclick方法的匿名内部类OnClickListener...-> 使用findViewById方法根据R文件创建Buttion对象引用 -> Button对象调用setclickListener()方法,参数为实现了View.OnClickListener接口的当前对象...所以使用XML编写界面其实一都不难,完全可以不用借助任何可视化工具实现。...我们还可以结合使用EditText与Button完成一些功能,比如通过点击按钮获取EditText中输入的内容。...我们还可以通过代码设置控件的可见性,使用的是setVisibility() 方法,可以传入View.VISIBLE 、View.INVISIBLE View.GONE 这3种值。

    1.8K20

    Android严苛模式StrictMode使用详解

    StrictMode类是Android 2.3 (API 9)引入的一个工具类,可以用来帮助开发者发现代码中的一些规范的问题,以达到提升应用响应能力的目的。...为了在开发中发现这些容易忽略的问题,我们使用StrictMode,系统检测出主线程违例的情况并做出相应的反应,最终帮助开发者优化改善代码逻辑。...未关闭的Closable对象泄露 使用detectLeakedClosableObjects()开启 泄露的Sqlite对象 使用detectLeakedSqlLiteObjects()开启 检测实例数量...其中,我们只需要在app的开发版本下使用 StrictMode,线上版本避免使用 StrictMode,这里定义了一个布尔值变量DEV_MODE进行控制。...当然也可以选择弹窗形式简明提醒开发者 ?

    2.9K00

    Android 开发你需要了解的那些事:学习路线规划+技术需注意的问题

    (R.layout.activity_main); findViewById(R.id.button).setOnClickListener(new View.OnClickListener...这里想考察的可能比较晦涩一。 由于内部类会持有外部类的引用。假设在 Activity 里面通过匿名内部类的方式启动线程做耗时任务。...这个是紧接第三。如果涉及界面交互,只需要使用到静态内部类就可以解决。但是当 Handler 里面需要做界面更新处理时,那么需要使用引用。...你如果把 Activity 直接传进来,那么 Activity 的引用被静态内部类持用了,所以这个时候就需要使用到弱引用了。...第六:数据库相关处理 这里主要是考虑类似微信 IM 登录后拉取大量离线消息写入数据库的问题。 通过对比开启事务不开启事务的耗时进行说明。

    78420

    Android开发笔记(二十八)利用Application实现内存读写

    全局变量 C/C++有所谓的全局变量,因为全局变量保存在内存中,所以操作全局变量就是操作内存,其速度远比操作数据库或者操作文件快得多,而且工程里的任何代码都可以引用全局变量,因此很多时候全局变量是共享数据消息传递的好帮手...所以我们可以借助静态成员变量实现全局变量的功能。...适合在Application中保存的全局变量,主要是一些Activity不方便传输的对象,包括: 1、Java容器类需要使用方法的对象;因为Intent不能直接传递容器数据,同时序列化对象只能传输数据却不能传输方法...接着在具体Activity中,就可以通过该成员对象访问MainApplication内部的公共对象公共方法了。...(R.layout.activity_main); et_key = (EditText) findViewById(R.id.et_key_main); et_value = (EditText

    91720

    你还在把Java当成Android官方开发语言吗?Kotlin了解一下!

    导语:2017年Google IO大会宣布使用Kotlin作为Android的官方开发语言,相比较与典型的面相对象的JAVA语言,Kotlin作为一种新式的函数式编程语言,也有人称之为Android平台的...{ super.onCreate(savedInstanceState) setContentView(R.layout.activity_main)...Kotlin不允许扩展一个已有的成员,原因也很好理解,我们希望扩展函数成为调用三方sdk的漏洞,不过如果你试图使用重载的方式创建扩展函数,这样是可行的。...5.2 Android View 胶水代码 回到最开始的例子,对于Android开发来说,对findViewById()这个方法一定不会陌生,为了获取一个View对象,我们总得先调用findViewById...{ super.onCreate(savedInstanceState) setContentView(R.layout.activity_main)

    70530
    领券