In my soundboard app I have 80 buttons that have a on click listener and a on long click listener.
My buttons are declared in xml as:
<TableRow
android:id="@+id/tableRow1"
android:layout_height="wrap_content" >
<Button
android:id="@+id/sound0"
android:layout_width="1dip"
android:layout_height="fill_parent"
android:layout_weight=".31"
android:longClickable="true"
android:text="@string/sound0" >
</Button>
<Button
android:id="@+id/sound1"
android:layout_width="1dip"
android:layout_height="fill_parent"
android:layout_weight=".31"
android:longClickable="true"
android:text="@string/sound1" >
</Button>
<Button
android:id="@+id/sound2"
android:layout_width="1dip"
android:layout_height="fill_parent"
android:layout_weight=".31"
android:longClickable="true"
android:text="@string/sound2" >
</Button>
</TableRow>
And the listeners are set as:
Button SoundButton0 = (Button) findViewById(R.id.sound0);
SoundButton0.getBackground().setAlpha(150);
SoundButton0.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String name = getString(R.string.sound0);
tracker.trackEvent("Clicks", "Play", name, 0);
playSound(R.raw.sound0);
}
});
SoundButton0.setOnLongClickListener(new OnLongClickListener() {
public boolean onLongClick(View v) {
String name = getString(R.string.sound0);
tracker.trackEvent("Clicks", "Saved", name, 0);
ring(soundArray[0], name);
return false;
}
});
Is there a way I can do all of this programmatically in a for loop so that the only thing changed for each button is SoundButtonx where x is increased by one for each button.