2017-03-26 6 views
-4

現在、アプリのようなサウンドボードを作っています。私は約60音を持っています。だから私はアイデアに遭遇しました。これらのボタンのどれかを検出してIDを取得することは可能ですか?ボタンIDが対応する音楽ファイル名であるため、非常に役立ちます。助けてくれてありがとう。クリック時にボタンIDを取得する方法は?

+1

シンプルなGoogle検索は、おそらくあなたの質問に答えるかもしれませんが、ここに私を導いた、 ルック[ここ](http://stackoverflow.com/questions/13032333/droid-how-to-get-button-id-from -onclick-method-in-xml)そして、それが十分でない場合は[ここ](http://stackoverflow.com/questions/3320115/android-onclicklistener-identify-a-button) 12回。次回はネットを見て! – Mercury

+3

[Droid:XMLで説明されているonClickメソッドからボタンIDを取得する方法は?](http://stackoverflow.com/questions/13032333/droid-how-to-get-button-id-from-onclick-method -described-in-xml) –

答えて

0

質問から、単にすべてのボタンに対して単一のハンドラを使用するのではなく、選択したID文字列名でエンコードされた情報を取得する方法を探していることはすぐにはわかりませんでした。getIdのみ十分。

ビューIDのリソース名は、View.getResources().getResourceName(id)を使用してIDから抽出できます。あなたはその後、各ボタンにハンドラをアタッチすることができます

View.OnClickListener mSoundClickListener = new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     String resourceName = view.getResources().getResourceName(view.getId()); 
     mySoundHandler(resourceName); 
    } 
};  

(1)

結果は、ビューIDを抽出し、リソース名を検索して、ファイル名を取得し、再利用可能なリスナーです。

button1.setOnClickListener(mSoundClickListener); 
button2.setOnClickListener(mSoundClickListener); 
//.... 
関連する問題