android 怎么消除setOnClickListener()的重复代码块
朕马天飞 2016-03-04 01:40:44 如下所示:setOnClickListener()分别被chk1,chk2,chk3引用,太重复了。应该把setOnClickListener()赋给什么就能消除这样的重复代码块
private void addListenerOnCheck() {
chk1 = (CheckBox) findViewById(R.id.checkBox1);
chk2 = (CheckBox) findViewById(R.id.checkBox2);
chk3 = (CheckBox) findViewById(R.id.checkBox3);
chk1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
StringBuffer result = new StringBuffer();
result.append("Java Selection : ").append(chk1.isChecked());
result.append(" Perl Selection:").append(chk2.isChecked());
result.append(" Python Selection:").append(chk3.isChecked());
Toast.makeText(MainActivity.this, result.toString(), Toast.LENGTH_LONG).show();
}
});
chk2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
StringBuffer result = new StringBuffer();
result.append("Java Selection : ").append(chk1.isChecked());
result.append("Perl Selection : ").append(chk2.isChecked());
result.append("Python Selection :").append(chk3.isChecked());
Toast.makeText(MainActivity.this, result.toString(),Toast.LENGTH_LONG).show();
}
});
chk3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
StringBuffer result = new StringBuffer();
result.append("Java Selection : ").append(chk1.isChecked());
result.append("Perl Selection:").append(chk2.isChecked());
result.append("Python Selection:").append(chk3.isChecked());
Toast.makeText(MainActivity.this, result.toString(), Toast.LENGTH_LONG).show();
}
});
}