Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.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
Android 如何在这段代码中添加另一个按钮?_Android_Button_Soundpool - Fatal编程技术网

Android 如何在这段代码中添加另一个按钮?

Android 如何在这段代码中添加另一个按钮?,android,button,soundpool,Android,Button,Soundpool,我在这个.java文件中添加了一个名为buttonA的按钮,它播放声音文件“clubb1”。如何添加其他按钮,如buttonB和buttonC等,并在代码中将它们链接到新的声音文件,如“clubb2”和“clubb3”?我是新的编码,因此不知道如何添加更多 public class FragmentOne extends Fragment { SoundPool Clubb1; int clubb1Id; @Override public View onCr

我在这个.java文件中添加了一个名为buttonA的按钮,它播放声音文件“clubb1”。如何添加其他按钮,如buttonB和buttonC等,并在代码中将它们链接到新的声音文件,如“clubb2”和“clubb3”?我是新的编码,因此不知道如何添加更多

public class FragmentOne extends Fragment  {

    SoundPool Clubb1;
    int clubb1Id;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        Clubb1 = new SoundPool(10, AudioManager.STREAM_MUSIC, 1);
        clubb1Id = Clubb1.load(getActivity(), R.raw.clubb1, 1);            

        View rootView = inflater.inflate(R.layout.fragment_one_layout, container, false);

        Button buttonA = (Button) rootView.findViewById(R.id.buttonA);

        buttonA.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Clubb1.play(clubb1Id, 1, 1, 1, 0, 1);
            }
        });

        return rootView;
    }
}
试试这个

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    Clubb1 = new SoundPool(10, AudioManager.STREAM_MUSIC, 1);
    clubb1Id = Clubb1.load(getActivity(), R.raw.clubb1, 1);
    clubb2Id = Clubb1.load(getActivity(), R.raw.clubb2, 1);
    clubb3Id = Clubb1.load(getActivity(), R.raw.clubb3, 1);

    View rootView = inflater.inflate(R.layout.fragment_one_layout, container, false);

    Button buttonA = (Button) rootView.findViewById(R.id.buttonA);
    Button buttonB = (Button) rootView.findViewById(R.id.buttonB);
    Button buttonC = (Button) rootView.findViewById(R.id.buttonC);

    View.OnClickListener ocl = new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            switch (v.getId()){
                case R.id.buttonA:
                    //A clicked
                    Clubb1.play(clubb1Id, 1, 1, 1, 0, 1);
                    break;
                case R.id.buttonB:
                    //B clicked
                    Clubb1.play(clubb2Id, 1, 1, 1, 0, 1);
                    break;
                case R.id.buttonB:
                    //C clicked
                    Clubb1.play(clubb3Id, 1, 1, 1, 0, 1);
                    break;                
            }
        }
    };

    buttonA.setOnClickListener(ocl);
    buttonB.setOnClickListener(ocl);
    buttonC.setOnClickListener(ocl);

    return rootView;
}

所以只需加载更多声音。已编辑

别忘了在
fragment\u one\u layout.xml
中添加新按钮!然后,照Max Vitruk说的去做,这应该行得通;-)

没有必要使用多个声音池-一个声音池可以容纳许多不同的声音。