2014-12-24 4 views
0

시스템 볼륨을 조정할 간단한 검색 막대가 있습니다. 그러나 그것은 꽤 오랜 시간 동안 널 포인터 예외를 던져 왔습니다.SeekBar 세트에 대한 Null 포인터 예외 최대 및 설정 진행

int max = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC); 
     Log.d("tag","+"+max); 
     volumeSeekbar.setMax(max); 
     int progress = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); 
     volumeSeekbar.setProgress(progress); 

     volumeSeekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){ 
      @Override 
      public void onStopTrackingTouch(SeekBar arg0) 
      { 
      } 

      @Override 
      public void onStartTrackingTouch(SeekBar arg0) 
      { 
       Toast.makeText(getApplicationContext(),"HEREO",Toast.LENGTH_SHORT).show(); 
      } 

      @Override 
      public void onProgressChanged(SeekBar arg0, int progress, boolean arg2) 
      { 
       audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,progress, 0); 
       Toast.makeText(getApplicationContext(),""+progress,Toast.LENGTH_SHORT).show(); 
      } 
     }); 

진도와 최대 값 모두 유효한 정수가됩니다. 그러나 널 포인터 예외가 지속적으로 발생합니다! 23 :

12-24 09 07.471 11705-11705/com.company.volume의 W/System.err에 : java.lang.NullPointerException이 12-24 09 : 23 : 07.472 11705-11705/com.company. 볼륨 W/System.err : com.company.volume.MainActivity.initControls (MainActivity.java:71) 12-24 09 : 23 : 07.472 11705-11705/com.company.volume W/System.err : at com .company.volume.MainActivity.onCreate (MainActivity.java:61) 12-24 09 : 23 : 07.472 11705-11705/com.company.volume W/System.err : android.app.Activity.performCreate (활동. java : 5248) 12-24 09 : 23 : 07.473 11705-11705/com.company.volume W/System.err : android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1110) 12-24 09:23 : 07.473 11705-11705/com.company.volume W/S ystem.err : at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2162) 12-24 09 : 23 : 07.473 11705-11705/com.company.volume W/System.err : android.app.ActivityThread. handleLaunchActivity (ActivityThread.java:2257) 12-24 09 : 23 : 07.473 11705-11705/com.company.volume W/System.err : android.app.ActivityThread.access $ 800 (ActivityThread.java:139) 12 -24 09 : 23 : 07.474 11705-11705/com.company.volume W/System.err : android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1210) 12-24 09 : 23 : 07.474 11705- 11705/com.company.volume W/System.err : android.os.Handler.dispatchMessage (Handler.java:102) 12-24 09 : 23 : 07.474 11705-11705/com.company.volume W/System. 오류 : at android.os.Looper.loop (Looper.java:136) 12-24 09 : 23 : 07.474 11705-11705/com.company.volume W/System.err : atr oid.app.ActivityThread.main (ActivityThread.java:5086) 12-24 09 : 23 : 07.475 11705-11705/com.company.volume W/System.err : at java.lang.reflect.Method.invokeNative (네이티브 메서드) 12-24 09 : 23 : 07.475 11705-11705/com.company.volume W/System.err : java.lang.reflect.Method.invoke (Method.java:515) 12-24 09:23 : 07.475 11705-11705/com.company.volume W/System.err : com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:785) 12-24 09 : 23 : 07.475 11705-11705 /com.company.volume W/System.err : at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:601) 12-24 09 : 23 : 07.475 11705-11705/com.company.volume W /System.err : at dalvik.system.NativeStart.main (기본 메소드)
+0

여기서 volumeSeekbar 인스턴스를 설정하는 코드는 무엇입니까? 'VolumeSeekbar = (SeekBar) findViewById (R.id.seekbar)' – kevskree

+0

과 같은 것 MainActivity.class의 onCreate() 중에 뷰를 참조 했습니까? –

답변

1

proba bly 귀하의 volumeSeekbarnull입니다. progressmax 값이 아닙니다. volumeSeekbar이 올바르게 정의되었는지 확인하십시오.

+1

탐색 서랍이 있었고이를 하위보기에 정의했습니다. 그래서 검색 바를 호출하려고하면 null이됩니다. 고맙습니다. – wayway