zoukankan      html  css  js  c++  java
  • android studio 2018.3.27

    当你点击设备上的应用图标(JustJava),就打开了MainActivity,在我们的代码中,MainActivity的onCreate方法被系统调用,在这个方法中有一个setContentView,他是资源布局ID。在早期的练习中,我们给setContentView只传了一个TextView,但是我们想要更多的View,所以我们传入一个布局资源id,这个对应的是一个XML文件,一旦调用setContentView Activity就会找到XML布局文件,并且读取他的每行代码,他会为每个View填充或者创建一个Java对象,他遍历整个XML文件,并且建立Java对象间的层次关系,当他填充每一个View的时候,他会调用构造函数,也就是New TextView或者New LinearLayout方法,然后把这些属性传给Java对象,这样他就被设置好了。注意,我们不用给New TextView和NewLinearLayout写任何代码,也不用设置字体大小,所有的这些都是由Activity填充过程完成的

    为了在应用运行时能与这些视图进行交互,并且修改他们,例如修改文本或修改按钮,那么我们需要找到Java对象,一旦我们找到他们,就可以在MainActivity中把他们转成变量。记住,我们没有在草稿中创建新的TextView,我们只是在草稿中找到现有的TextView。这是之前我们在MainActivity中用过的quantity、price和price message,这里既有局部变量也有全局变量。为了与这个视图中的View进行交互,我们应该创建变量,用来引用这些具体的View。例如我们可以创建一个新的quantity TextView,他指向这个TextView,如果你点击UI中的加减按钮,你就可以改变他的文本使他显示不同的数字。

    因为TextView是一个更具体的View,或者说TextView是View的一个子类,我们可以使用类型转换。在Java中类型转换意味着我们可以把这个方法返回的View转换成一个TextView,所以现在右边已经是一个TextView对象了,然后把他存到orderSummayTextView这个变量中。findViewById方法会把对象转换成视图类型,通过写这个标记(TextView),也就是括号和里边的对象数据类型,我们就把View转换成TextView

  • 相关阅读:
    Python-list
    C3P0数据库连接池使用中的问题
    不变类和可变类
    apollo配置中心部署文档
    Apollo使用文档(Java)
    Redis偶发连接失败案例分析
    创建Kibana耗时报表
    Session服务器配置,如何保存在专门的StateServer服务器中
    Linux命令对应的英文全称
    IIS记录真实来源IP,Advanced Logging(高级日志)的安装以及X-Forwarded-For的配置
  • 原文地址:https://www.cnblogs.com/aliceluorong/p/8662280.html
Copyright © 2011-2022 走看看