点击
首先andriomianfest主配文件(主要配置文件),来启动主要的activity对象,然后通过该对象调用create方法来加载布局文件xml
active通过布局文件的控件生成相应的对象。
布局中的控件在java代码中有与之对应的对象,通过对象去操作控件咯
view是控件
布局文件做到的事儿在代码中也可以做到。
activity 是界面
1、java内部实现的布局是动态布局,而在xml文件内部的布局是静态布局。
checkbox是view的子类,子类可以强制转为父类,点击就会调用onclick事件,然后把eatBox赋值给view。
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) 检测控件改变 第一个是改变的控件 第二个是:检测选中的状态。
package com.marschen.s01_e09_checkbox;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
public class MainActivity extends Activity {
private CheckBox eatBox ;
private CheckBox sleepBox;
private CheckBox dotaBox;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
eatBox = (CheckBox)findViewById(R.id.eatId);
sleepBox = (CheckBox)findViewById(R.id.sleepId);
dotaBox = (CheckBox)findViewById(R.id.dotaId);
CheckBoxListener listener = new CheckBoxListener();
eatBox.setOnCheckedChangeListener(listener);
sleepBox.setOnCheckedChangeListener(listener);
dotaBox.setOnCheckedChangeListener(listener);
/*OnBoxClickListener listener = new OnBoxClickListener();
eatBox.setOnClickListener(listener);
sleepBox.setOnClickListener(listener);
dotaBox.setOnClickListener(listener);*/
}
class CheckBoxListener implements OnCheckedChangeListener{
@Override
public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
if(buttonView.getId() == R.id.eatId){
System.out.println("eatBox");
}
else if(buttonView.getId() == R.id.sleepId){
System.out.println("sleepBox");
}
else if(buttonView.getId() == R.id.dotaId){
System.out.println("dotaBox");
}
if(isChecked){
System.out.println("checked");
}
else{
System.out.println("uncheck");
}
}
}
//OnClickListener的使用方法
/*class OnBoxClickListener implements OnClickListener{
@Override
public void onClick(View view) {
CheckBox box = (CheckBox)view; //box.getId() 通过控件得到id
if(box.getId() == R.id.eatId){
System.out.println("eatBox");
}
else if(box.getId() == R.id.sleepId){
System.out.println("sleepBox");
}
else if(box.getId() == R.id.dotaId){
System.out.println("dotaBox");
}
if(box.isChecked()){
System.out.println("checked");
}
else{
System.out.println("unChecked");
}
System.out.println("Checkbox is clicked");
}
}*/
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}