简体   繁体   English

按保存按钮时,应用崩溃

[英]App get Crash when press Save Button

i have an issue regarding saving the volume changed when i press a button, and do not understand why. 我有一个关于保存音量的问题,当我按下一个按钮时,音量已更改,并且不明白为什么。 Could you please help pls? 你能帮忙吗? My code Below: 我的代码如下:

    private AudioManager aManager;
    private SeekBar seekVolume;
    private Button save;



    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        aManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
        Button save = (Button) findViewById(R.id.save);

}
    public void saveOnClickListener(View view){

            int progress = 1;
            int keyCode = 0;
            KeyEvent keyEvent;
                aManager.setStreamVolume(AudioManager.STREAM_RING, progress  , AudioManager.FLAG_SHOW_UI + AudioManager.FLAG_PLAY_SOUND);
                if(keyCode==KeyEvent.KEYCODE_VOLUME_DOWN || keyCode==KeyEvent.KEYCODE_VOLUME_UP){
    seekVolume.setProgress(aManager.getStreamVolume(AudioManager.STREAM_RING));

            }else if (keyCode==KeyEvent.KEYCODE_VOLUME_DOWN || keyCode==KeyEvent.KEYCODE_VOLUME_UP){
                seekVolume.setProgress(aManager.getStreamVolume(AudioManager.STREAM_NOTIFICATION));

                }
 }

}

First i want to make changes for Ringer Volume, and when press Save Button , to commit the changes. 首先,我想对“铃声音量”进行更改,然后按“保存”按钮以提交更改。 Thanks guys 多谢你们

i think in xml u have not add this as u have used method saveOnClickListener add in xml in Button property as 我认为在xml中您尚未添加此内容,因为您已使用方法saveOnClickListener在Button属性中添加为xml中的内容

 android:onClick="saveOnClickListener" 

or either u can use in activity as shown below if u have not added in xml 或者如果您尚未在xml中添加,则您可以按如下所示在活动中使用

 Button save = (Button) findViewById(R.id.save);    
 save.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
          // do here what u want onclick of save button 
               }
        }


    });

you have made the aManager local in oncrete so it's global variable with same name would still null in saveOnClickListener 您已在acrete中将aManager设置为本地,因此具有相同名称的全局变量在saveOnClickListener中仍为null

instead of this 代替这个

 AudioManager aManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

use 采用

aManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

in Oncreate........... 在Oncreate ...........

You better make aManager and seekVolume global and remove 您最好将aManager和seekVolume设置为全局并删除

    SeekBar seekVolume = (SeekBar) findViewById(R.id.seekVolume);

in the onClickListener 在onClickListener中

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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