У меня есть цикл, где я создал несколько экземпляров кнопок, и каждый экземпляр у них есть TouchListener. Тем не менее, мне трудно понять, как управлять, когда были затронуты различные кнопки. То, что я пытаюсь выполнить, состоит в том, что каждая кнопка представляет собой текстовое представление, и когда я касаюсь кнопки, я хочу добавить к тексту конкретное текстовое представление, связанное с этим экземпляром кнопки, для arraylist. Однако, когда одна и та же кнопка снова коснется, я хочу удалить ее из списка ... и снова добавить ее, если она снова коснется. О да, addToOrder в настоящее время является глобальным и инициализируется значением true.Метод onTouch - Поддержание того, какие кнопки кнопки были нажаты или нажаты.
Мысли?
EDIT **** за мои комментарии ниже кнопка теперь является экземпляром подкласса Button, который я написал, чтобы я мог легко следить за каждым экземпляром кнопки. Это решило проблему.
вот код:
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getActionMasked();
//Log.d("Touched Add To Order Button with id of ", button.getId() + ": " + button.getText().toString());
TextView relativeTitleView;
ViewGroup relativeGroup = (ViewGroup)v.getParent();
relativeTitleView = (TextView) relativeGroup.getChildAt(0);
//Log.d("Add To Order Button Touched", relativeTitleView.getText().toString());
/*if(action ==MotionEvent.ACTION_DOWN){
addToOrder = (addToOrder) ? true : false;
if(addToOrder)
dbAccess.addToOrder(relativeTitleView.getText().toString());
else
dbAccess.removeFromOrder(relativeTitleView.getText().toString());
}
else if(action == MotionEvent.ACTION_UP){
addToOrder = !addToOrder;
}*/
if(action == MotionEvent.ACTION_DOWN){
if(button.getTouchInfo()){
dbAccess.addToOrder(relativeTitleView.getText().toString());
button.setTouchInfo(false);
}
else {
dbAccess.removeFromOrder(relativeTitleView.getText().toString());
button.setTouchInfo(true);
}
}
return false;
}
});
Я только что понял, что addToOrder - так как глобальный собирается сделать невозможным определить, был ли затронут какой-то конкретный случай кнопки или нет. мне нужна переменная addToOrder для экземпляра кнопки EACH - однако я собираюсь получить эту ужасную конечную/не конечную переменную ошибку ... – cspam