У меня есть 7 флажков на каждый день недели объявлен как это:Java: Установите несколько переменных через один аргумент функции
CheckView MondayTextBox;
CheckView TuesdayTextBox;
CheckView WednesdayTextBox;
...
, а затем в OnCreate они инициализируются как это:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_add_alarm, container, false);
MondayTextBox = (CheckView) view.findViewById(R.id.mondayButton);
TuesdayTextBox = (CheckView) view.findViewById(R.id.tuesdayButton);
WednesdayTextBox = (CheckView) view.findViewById(R.id.wednesdayButton);
...
в слушателю OnClick для каждого из этих флажков я поставил альфу флажка щелкнутого с анимацией, чтобы серым цветом с указанием его не используется, как это:
MondayTextBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectAndAnimateTheCheckBoxes(mondaySelected, MondayTextBox);
}
});
TuesdayTextBox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
selectAndAnimateTheCheckBoxes(tuesdaySelected, TuesdayTextBox);
}
});
...
Что вызывает функцию selectAndAnimateTheCheckBoxes:
public void selectAndAnimateTheCheckBoxes(Boolean daySelected, CheckView dayTextBox) {
if (!daySelected) {
daySelected = true;
dayTextBox.animate().alpha(1F).setDuration(300);
} else {
daySelected = false;
dayTextBox.animate().alpha(0.3F).setDuration(300);
}
}
Можно ли передать не только значение переменной, но саму переменную через функцию? Или переменная должна быть явно указана и задана аргументом функции.
P.s. Я знаю, как заставить эту функцию работать, я даже не думал об этом раньше, и мне интересно, возможно ли это.
Заранее за вашу помощь.
Хорошо спасибо, поэтому нет практического способа сделать это, как раз для каждого случая. Спасибо –