欢迎来到天天文库
浏览记录
ID:2062677
大小:111.50 KB
页数:2页
时间:2017-11-14
《获取组件以及设置组件属性(8课)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、获取组件以及设置组件属性(8)上一节我们讲到了如何在.xml文件里配置我们的界面,这里说的界面,说白了就是我们的Activity,但res/layout下的.xml文件仅限于配置我们的Activity上界面,如果想要让Activity有具体的功能,就需要我们在这个布局文件相对应的.java文件里写java代码实现了。----------------------------设置组件id刚开始先纠正一下,Activity上的TextView(文本显示)、EditText(文本输入框)、Button(按钮).....等等我们通常应该称他们叫“组件”,而在Windows
2、窗体程序里按钮输入框什么的通常才叫“控件”,这只是个称呼而已,无所谓,大家能理解就好,以后我们改称它们叫组件。大家通过前面几节的学习,对android程序也有了一定了解,细心的人会发现,我们写出来的程序是非常非常简单的,用一句话来形容就是“不会动的”,那要怎么才能让它们动起来呢?这需要我们在.java源码编写代码完成。这里还是以之前的HellowWorld为例子,打开其中的newone.xml和NewActivity.java(最先启动的那一个Activity的.xml和.java).写代码之前我们先要思考一个问题,假使现在Activity上的各种组件好比一支军
3、队,我们要怎么才能指挥这支军队呢?有人会说,我们先要知道士兵的名字,比如TextView(文本显示)、EditText(文本输入框)、Button(按钮)....这些。但是,一个Activity上可以有很多个TextView,所以TextView(文本显示)、EditText(文本输入框)、Button(按钮)....这些只能说是士兵们的“兵种”,而不是具体到某一个士兵的“名字”,每个组件都得有一个专有的名字,这个名字叫做组件的“id”。很遗憾的是我们之前配置的那些组件还没有配置id,所以我们现在一起来配置一下。组件的id是组件的一个属性,我们上节有讲到组件的属
4、性是在.xml文件里进行布局的时候就可以设置的,还有印象吗?id属性配置的语法如下:android:id="@+id/id名字"现在我们在newone.xml配置两个TextView(文本显示),并分别给他们加上id。比如第一个TextView的id设置为name,我们加上这样一句:android:id="@+id/name",配置好了代码如下图:OK,id就设置完了,运行起来你们应该会看到两行文字:“这是组件1”、“这是组件2”。----------------------------获取Activity上的组件,并动态改变属性设置好了id,我们回到NewAc
5、tivity.java正式开始写java代码(值得提醒的,之前我们很多地方多是复制粘贴的,所以没有说,写代码的标点符号要用英文符号,当然双引号的里的字符串可以有中文的地方才可以写中文标点,如果不小心把标点用错了的地方会报错的)。代码从setContentView(R.layout.newone);的下一行开始写,首先,我们要根据第一个TextView组件的id来获取组件,获取组件的代码:TextViewtext=(TextView)super.findViewById(R.id.name);这句代码3个地方坐下解释:TextView:.这是我们要获取组件的类型,
6、这里我们要获取的是TextView,如果要获取EditText就行EditText,获取Button就写Button...text.紧随TextView后面的这text是我们为获取到的控件取的名字(就这样理解吧),你也可以取其他,记得要用英文。等下我们要操作哪个组件,就操作哪个组件获取时候取的这个名字~R.id.name.R.id.xxx,这个xxx就是我们在.xml里给组件的设置的id名,“这是组件1“那句话我给设置的id是name,这里的xxx就写name。.ok,获取到了组件,我们在写一句代码来改变一下这个组件的某个属性的值:text.setText("好
7、个飞飞");通过上面这句代码test组件的文本值改为”好个飞飞“(原本是"这是组件1",等下运行再看)。解释下set和get:set的意思一般为"设置",get的意思一般为"获取","xxx.setYYY(zzzz);"的意思就是把xxx组件的YYY属性的值设置为zzzz。"xxx.getYYY();"的意思就是获取xxx组件的YYY属性的值,比如文本框中输入的值获取。这里的YYY是指控件的属性,和.xml里的android:YYY=""里的YYY是相通的,只是在java代码里属性名首字母要大写,当然组件有很多属性没有在.xml里写的我们一样可以在java代码里
8、进行设置。代码写好了如下
此文档下载收益归作者所有