代表控件的对象
布局文件里的每一个控件,在代码里都对应有一个对象,可以通过对对象的编写,改变控件显示的样式。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = (TextView)findVeiwById(R.id.textView);
...
}
...
}
View
控件有与之对应的对象,而view
是控件的对象对应的类。文本、按钮、单选、多选等等都是view
的子类。
以 text view 为例。layout文件里声明了一个TextView
,activity 在读取该 layout 文件时就会生成一个对应的TextView
对象,使用findViewById()
方法(返回值是view
类型的,所以需要加TextView
类型转换)。然后就能在代码里控制控件属性啦啦啦。
TextView textView = (TextView)findViewById(R.id.textView);
textView.setText("Hello world again.");
如果原来 layout 文件里定义了文字内容为"Hello world"
,现在就在被更改成了"Hello world again."
。
监听器 listener
控件可以绑定监听器,不同的监听器监听不同的事件,选中、点击……监听器本身也是一个对象。
分为四个步骤
- 获取空间代表对象
- 定义一个类,实现监听器接口
- 生成监听器对象
- 为控件绑定监听器对象
Button button = (Button) findViewById(R.id.button);
playStart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(final View source) {
... ...
}
});