在我的soundboard應用程序中,我有80個按鈕,它們具有點擊監聽器和長按聆聽器。Android以編程方式聲明按鈕?
我的按鈕,以XML作爲聲明:
<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>
而且聽衆被設置爲:
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;
}
});
有沒有一種方法可以讓我的for循環做這一切的編程方式,使每個按鈕更改的唯一內容是SoundButtonx,其中每個按鈕的x增加一個。
現在我該怎樣建立一個在點擊監聽器,將捕獲每個按鈕? – mpeerman 2012-03-14 06:11:06
@mpeerman檢查示例鏈接。 – 2012-03-14 06:14:49