2017-02-24 24 views
0

のコンテキストメニュー異なる機能私は、JavaとAndroidのメーカーImは少しのAppサウンドボード上で作業に新しいですので。これまでは、2つの配列の配列とSoundsの配列を持つSoundboardをコード化しました。初級 - 異なるボタン

私はコンテキストメニューを構築していますが、これまでもうまくいきましたが、今のところ問題はアプリケーションが各ボタンコンテキストメニューの同じ「機能」。しかし、すべてのボタンは、私はそれはそれはまた、各ボタンに

public int[] buttonsas = {button1, R.id.button2, R.id.button3}; 
public int[] sounds = {R.raw.sound1, R.raw.sound2, R.raw.sound3}; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 



    for (int i = 0; i < buttonsas.length; i++) { 
     Button contextMenuButton = (Button) findViewById(buttonsas[i]); 
     registerForContextMenu(contextMenuButton); 
    } 

    MainMedia = MediaPlayer.create(this, R.raw.sound1); 
} 
@Override 
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenu.ContextMenuInfo menuInfo) { 
    super.onCreateContextMenu(menu, v, menuInfo); 

    menu.setHeaderTitle("Context Menu"); 
    menu.add(0, v.getId(), 0, "Action 1"); 
    menu.add(0, v.getId(), 0, "Action 2"); 
} 


@Override 
public boolean onContextItemSelected(MenuItem item) { 

    if(item.getTitle().equals("Action 1")){function1(item.getItemId());} 
    else if(item.getTitle().equals("Action 2"))           {function2(item.getItemId());} 
    else {return false;} 
    return true; 
} 

public void function1(int id){ 
    Toast.makeText(this, "function 1 called", Toast.LENGTH_SHORT).show(); 
} 
public void function2(int id){ 
    Toast.makeText(this, "function 2 called", Toast.LENGTH_SHORT).show(); 
} 

答えて

0

何かを感じた場合に次のコードとコメントを試してみてください別のサウンドファイルにありアレイ/ボタンのように動作していることを取り組んで取得することができますどのように異なる音を持っています難易度2マイル程度

//replace following in your onCreate method 
for (int i = 0; i < buttonsas.length; i++) { 
      Button contextMenuButton = (Button) findViewById(buttonsas[i]); 
      contextMenuButton.setText("Action "+i); 
      registerForContextMenu(contextMenuButton); 
     } 

そして

@Override 
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenu.ContextMenuInfo menuInfo) { 
    super.onCreateContextMenu(menu, v, menuInfo); 

    menu.setHeaderTitle("Context Menu"); 
    Button buttonView = (Button) v; 
    menu.add(0, buttonView .getId(), 0, buttonView.getText()); 
} 

`

+0

感謝n前に私は自分自身の問題hehe:Pを解決しましたが、私もこれを試して、それもうまくいきます:) – ExiizZ