如何在片段中处理OnClick方法,而不为每个按钮制作大量的onclick侦听器,然后为它们设置一个巨大的switch语句。例如,我的布局中有10个复选框,我希望片段以相同的方式处理它们(具有相同的OnClick)
答案 0 :(得分:1)
非常简单。如果你想以同样的方式处理它们,就这样做吧;
View.OnClickListener listener = new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Toast.makeText(MainActivity.this,"asdasd",Toast.LENGTH_SHORT).show();
}
};
item1.setOnClickListener(listener);
item2.setOnClickListener(listener);
item3.setOnClickListener(listener);
答案 1 :(得分:0)
首先,你的问题是暧昧的。你想知道的并不是100%清楚。
如果我理解正确,你不需要10个单独的听众,但只需要1个。
然后你得到:
public class Main2Activity extends AppCompatActivity implements View.OnClickListener{
private Button button01;
private Button button02;
private Button button03;
private Button button04;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
button01 = (Button) findViewById(R.id.button01);
button02 = (Button) findViewById(R.id.button02);
button03 = (Button) findViewById(R.id.button03);
button04 = (Button) findViewById(R.id.button04);
button01.setOnClickListener(this);
button02.setOnClickListener(this);
button03.setOnClickListener(this);
button04.setOnClickListener(this);
}
@Override
public void onClick(View view) {
if (view == button01) {
// button01 clicked
} else if (view == button02) {
// button02 clicked
} else if (view == button03) {
// button03 clicked
} else if (view == button04) {
// button4 clicked
}
}
}
这是你在找什么?