Вот моя ситуация: Я программно даю несколько кнопок onClickListener, однако я не могу полностью обработать это событие, потому что я хотел бы определить, какая кнопка была нажата, чтобы дать этой кнопке (при нажатии) новое значение. Вот как запрограммировать эти кнопки:Определите, какая кнопка была нажата
final View.OnClickListener soundButtonListener = new View.OnClickListener() {
public void onClick(View v) {
playSound(1);
int x = songPlay * songProgress;
mplayer.seekTo(x);
}
};
tableLayout = (TableLayout)v
.findViewById(R.id.tableLayout);
int number = 1;
for (int i = 0; i < tableLayout.getChildCount(); i++) {
TableRow row = (TableRow)tableLayout.getChildAt(i);
for (int j = 0; j < row.getChildCount(); j++) {
Button button = (Button) row.getChildAt(j);
button.setText("" + number);
button.setOnClickListener(soundButtonListener);
songProgress = j;
number++;
}
}
Как вы видите, они не щелчок слушателем для каждого из них, так что, когда я нажимаю мою кнопку, MPlayer всегда seekto точки, becausae songProgress останавливается на 64 (у меня есть 64 кнопки для обработки). Хорошо, что у меня есть число для каждой кнопки (как вы видите button.setText («+ число»;)), и я хотел бы проверить, что их номер, чтобы дать songProgress разные значения.
пожалуйста, вы можете разработать более. мне это не очень понятно –
Я думаю, это то, что вы ищете. [Проверить этот ответ] (http://stackoverflow.com/questions/3412180/how-to-determine-which-button-pressed-on-android) – Suhas