У меня есть цикл, в котором я создал несколько экземпляров кнопок, и у каждого экземпляра есть TouchListener.Тем не менее, у меня возникают проблемы с выяснением того, как управлять, когда различные кнопки были нажаты.Что я пытаюсь сделать, так это то, что каждая кнопка представляет текстовое представление, и когда я касаюсь кнопки, я хочу добавить это конкретное текстовое представление, связанное с этим экземпляром кнопки, в массив.Однако, когда к той же кнопке снова прикасаются, я хочу удалить ее из списка ... и добавить ее снова, если к ней снова прикоснуться.О да, addToOrder в настоящее время является глобальным и инициализирован как true.
Мысли?
РЕДАКТИРОВАТЬ **** согласно моим комментариям ниже, кнопка теперь является экземпляром подкласса 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;
}
});