简体   繁体   中英

Get seekbar progress from Dialog

I am trying to build a dialog that uses a custom layout, but i cant get the volume and gain values from the seekbar, it gives a nullpointer exception. Here's the code:

        Dialog soundoptions= new Dialog(this);
    soundoptions.setContentView(R.layout.soundoptions);

    soundoptions.setTitle("Sound Options");
    soundoptions.setOnDismissListener(new OnDismissListener() {

        @Override
        public void onDismiss(DialogInterface dialog) {
            // TODO Auto-generated method stub
            SeekBar vs=(SeekBar) findViewById(R.id.volume);
            SeekBar vg=(SeekBar) findViewById(R.id.gain);
            vg.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

                @Override
                public void onStopTrackingTouch(SeekBar seekBar) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onStartTrackingTouch(SeekBar seekBar) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onProgressChanged(SeekBar seekBar, int progress,
                        boolean fromUser) {
                    // TODO Auto-generated method stub
                    gain=progress;

                }
            });
           vs.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {
                // TODO Auto-generated method stub

            }

            @Override
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                // TODO Auto-generated method stub
                volume=progress;

            }
        });

vs and vg are null.

Use ...

SeekBar vs=(SeekBar) dialog.findViewById(R.id.volume);
SeekBar vg=(SeekBar) dialog.findViewById(R.id.gain);

Note the "dialog" ...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM