4、第一行代码
程序员文章站
2024-01-13 16:49:22
...
上节完成了回复功能的页面搭建,可是想要的功能并没有实现。页面设计(xml中实现想要的布局)和功能(页面逻辑,通常在java代码中实现)相分离,使开发者更易于操作。所以要实现想要的功能,来书写第一(N)行代码。
代码写到哪,新建的工程只有MainActivity.java,当然是这个。写什么,想要实现点击回复,当然要把要操作的Button、EditText、TextView从xml中引入到java代码中。android:id="@+id/xxx"(xml中)和R.id.xxx(java代码中),可以使用findViewById(R.id.xxx)(为什么是View,控件的父类基本上都是View)来获取到类(控件)的对象(什么?还没有对象::>_<::)(把对象当作一个变量就好,但他有普通变量所没有的属性、方法)。
在onCreate前定义用到的类对象:
为对象赋值,通过findViewById,在onCreate中,setContentView之后(要先把xml加载,才能获取其中的控件):
为什么要强转,findViewById返回是View要强转为想要的类型。已经把xml中的控件赋值给java的对象,现在可以加入按钮点击的事件了。按钮(Button类)有一个方法叫setOnClickLisrener(OnClickListener listener),看名字就是为按钮添加一个点击监听器(触发某一事件后就会执行注册的监听器中的方法,类似回调,很好用)。在bt_review赋值之后:
setOnClickListener函数参数是OnClickListener对象,这里直接new(什么是new)一个,会自动生成一个onClick函数。当bt_review按钮被点击就会执行onClick函数,在这里写下要处理的逻辑代码,把EditText中输入的文字显示到上方的TextView上。如何获取EditText所输入的内容,EditText有个方法getText(),如何赋给TextView,TextView的setText方法:
获取et_review的内容,判断是否为空,不为空,赋给tv_review,运行工程,输入内容,点击回复。
注:这是一个.gif动图,ctrl点击图片查看。图录制的长宽比例不好,12节之后改正。
编程的思想还要自己悟,简单的小功能,有点意思。
代码写到哪,新建的工程只有MainActivity.java,当然是这个。写什么,想要实现点击回复,当然要把要操作的Button、EditText、TextView从xml中引入到java代码中。android:id="@+id/xxx"(xml中)和R.id.xxx(java代码中),可以使用findViewById(R.id.xxx)(为什么是View,控件的父类基本上都是View)来获取到类(控件)的对象(什么?还没有对象::>_<::)(把对象当作一个变量就好,但他有普通变量所没有的属性、方法)。
在onCreate前定义用到的类对象:
TextView tv_review; EditText et_review; Button bt_review;
为对象赋值,通过findViewById,在onCreate中,setContentView之后(要先把xml加载,才能获取其中的控件):
tv_review=(TextView)findViewById(R.id.tv_review); et_review=(EditText)findViewById(R.id.et_review); bt_review=(Button)findViewById(R.id.bt_review);
为什么要强转,findViewById返回是View要强转为想要的类型。已经把xml中的控件赋值给java的对象,现在可以加入按钮点击的事件了。按钮(Button类)有一个方法叫setOnClickLisrener(OnClickListener listener),看名字就是为按钮添加一个点击监听器(触发某一事件后就会执行注册的监听器中的方法,类似回调,很好用)。在bt_review赋值之后:
bt_review.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { // TODO Auto-generated method stub } });
setOnClickListener函数参数是OnClickListener对象,这里直接new(什么是new)一个,会自动生成一个onClick函数。当bt_review按钮被点击就会执行onClick函数,在这里写下要处理的逻辑代码,把EditText中输入的文字显示到上方的TextView上。如何获取EditText所输入的内容,EditText有个方法getText(),如何赋给TextView,TextView的setText方法:
public void onClick(View view) { // TODO Auto-generated method stub if(!et_review.getText().toString().equals("")){ tv_review.setText(et_review.getText()); } }
获取et_review的内容,判断是否为空,不为空,赋给tv_review,运行工程,输入内容,点击回复。
注:这是一个.gif动图,ctrl点击图片查看。图录制的长宽比例不好,12节之后改正。
编程的思想还要自己悟,简单的小功能,有点意思。
没有如果——2016/10/20
上一篇: 《大型分布式网站架构设计与实践》 试读
下一篇: mongodb 分布式配置