Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 初学者-上下文菜单不同按钮的不同功能_Java_Android_Arrays_Contextmenu - Fatal编程技术网

Java 初学者-上下文菜单不同按钮的不同功能

Java 初学者-上下文菜单不同按钮的不同功能,java,android,arrays,contextmenu,Java,Android,Arrays,Contextmenu,因为我是Java和Android Studio的新手,所以我正在开发一个小应用程序,一个音板。所以到目前为止,我用2个按钮阵列和Sounds.mp3阵列编码了一个音板 现在我正在建立一个上下文菜单,它也工作得很好,但到目前为止,我的问题是应用程序对每个按钮都执行上下文菜单的相同“功能”。但是每个按钮都有不同的声音我怎样才能让它工作呢?它也像数组/按钮一样工作,每个按钮都有不同的声音文件 public int[] buttonsas = {button1, R.id.button2, R.id.b

因为我是Java和Android Studio的新手,所以我正在开发一个小应用程序,一个音板。所以到目前为止,我用2个按钮阵列和Sounds.mp3阵列编码了一个音板

现在我正在建立一个上下文菜单,它也工作得很好,但到目前为止,我的问题是应用程序对每个按钮都执行上下文菜单的相同“功能”。但是每个按钮都有不同的声音我怎样才能让它工作呢?它也像数组/按钮一样工作,每个按钮都有不同的声音文件

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();
}
public int[]buttonsas={button1,R.id.button2,R.id.button3};
public int[]sounds={R.raw.sound1,R.raw.sound2,R.raw.sound3};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
对于(int i=0;i
如果您觉得有任何困难,请尝试以下代码和注释

 //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);
        }

`

谢谢大约2分钟前我解决了自己的问题呵呵:p但我也试过这个,效果也很好:)
@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());
}