level 1
一个text 一个button
点击button后get到text的信息
我的想法是设置一个监听:然后onclick之后就gettext的内容
但书上为什么写的是
public oncreate(){
....//省略
button.setonclicklistner(this);}
@override
public void onclick(view v){
}
2017年02月07日 04点02分
1
level 1
刚刚那个里面的内容是
switch (v.getid()){
case R.id.button:
gettext内容
default:
break
}
2017年02月07日 04点02分
2
level 1
写Button的方式一种是匿名类注册监听器,另一种是接口方式注册监听器,接口方式适用于较多的Button的时候使用,你的书上用的就是接口方式,当有很多Button的时候,
public class title extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_title);
findViewById(R.id.button1).setOnClickListener(this);
findViewById(R.id.botton2).setOnClickListener(this);
findViewById(R.id.botton3).setOnClickListener(this);
findViewById(R.id.botton4).setOnClickListener(this);
findViewById(R.id.botton5).setOnClickListener(this);
}
@Override
public void onClick(View v){
switch (v.getId()){
case R.id.button1:
//逻辑内容
break;
case R.id.botton2:
//逻辑内容
break;
case R.id.button3:
//逻辑内容
break;
case R.id.button4:
//逻辑内容
break;
case R.id.button5:
//逻辑内容
break;
default:
break;
}
}
}
这样是不是比匿名类的更省功夫一点?
以下未匿名类写法
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener(){
@Override
public void onclick(View v){
//逻辑内容
}
});
2017年02月10日 03点02分
9