-4
目前正在製作一個類似於應用程序的音板。因爲我有大約60個聲音,需要很長時間才能爲每一個聲音創建功能。所以我碰到了想法,是否有可能檢測按下這些按鈕的任何一個,然後得到它的ID?這將是非常有用的,因爲按鈕id也是相應的音樂文件名稱。謝謝你的幫助。如何在點擊時獲取按鈕ID?
目前正在製作一個類似於應用程序的音板。因爲我有大約60個聲音,需要很長時間才能爲每一個聲音創建功能。所以我碰到了想法,是否有可能檢測按下這些按鈕的任何一個,然後得到它的ID?這將是非常有用的,因爲按鈕id也是相應的音樂文件名稱。謝謝你的幫助。如何在點擊時獲取按鈕ID?
從這個問題來看,您並不是很清楚您是否正在尋找一種方法來檢索您選擇的ID字符串名稱中編碼的信息,而不是簡單地爲所有按鈕使用單個處理程序,單獨使用getId
足夠。
使用View.getResources().getResourceName(id)
可以從ID中提取視圖ID 的資源名稱。 (1)
結果是可重複使用的監聽器,通過提取視圖ID和查找資源名獲得的文件名:
View.OnClickListener mSoundClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
String resourceName = view.getResources().getResourceName(view.getId());
mySoundHandler(resourceName);
}
};
您可以將處理程序然後附加到每個按鈕。
button1.setOnClickListener(mSoundClickListener);
button2.setOnClickListener(mSoundClickListener);
//....
簡單的谷歌搜索導致我在這裏,可能會回答你的問題, 看[這裏](http://stackoverflow.com/questions/13032333/droid-how-to-get-button-id-from -onclick-method-described-in-xml)如果這還不夠看[這裏](http://stackoverflow.com/questions/3320115/android-onclicklistener-identify-a-button)這個問題已經被解答了lioke十幾次。下次看網吧! – Mercury
[Droid:如何從XML中描述的onClick方法獲取按鈕ID?]的可能的重複(http://stackoverflow.com/questions/13032333/droid-how-to-get-button-id-from-onclick-method -described功能於XML) –