#android
#Android
Вопрос:
У меня есть 2 Button
‘s в макете (принадлежит фрагменту). Давайте назовем их button1 и button2. Когда я нажимаю button2, это запускает onclick для button2. Когда я нажимаю button1, он запускает onclick для button1 (сам по себе), а затем для button2. Кажется, я не могу понять, почему это происходит.
public class StartFragment implements View.OnClickListener {
@BindView(R.id.button1)
Button button1;
@BindView(R.id.button2)
Button button2;
@Override
public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.layout_start, container, false);
ButterKnife.bind(this, view);
button1.setOnClickListener(this);
button2.setOnClickListener(this);
return view;
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button1:
Log.d("LOG","button1 click");
case R.id.button_by_country:
Log.d("LOG","button2 click");
}
}
}
Ответ №1:
Вы пропустили break
инструкцию в switch
:
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.button1:
Log.d("LOG","button1 click");
break; // <!--- ADD HERE
case R.id.button_by_country:
Log.d("LOG","button2 click");
break; // <!--- ADD HERE
}
}