使用 SeekBar 处理 NullPointerException
Handle NullPointerException with SeekBar
我的 SeekBar 有时会收到 NullPointerException
。
我正在学习 Android,但我无法找到修复此错误的正确方法。
我正在为 onStopTrackingTouch
SeekBar 使用以下代码:
public void onStopTrackingTouch(SeekBar seekBar) {
setScaledSize(seekBar.getProgress() / 100.f);
}
函数setScaledSize
显示如下:
private void setScaledSize(float scaledSize) {
mSizeSeekBar.setProgress((int) (scaledSize * 100.0f));
paintview.setDrawingScaledSize(scaledSize);
}
我收到类似以下日志的错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.example.shayari.cardmaker.PaintView.setDrawingScaledSize(float)' on a null object reference
at com.example.shayari.cardmaker.NameArt.setScaledSize(NameArt.java:767)
at com.example.shayari.cardmaker.NameArt.access0(NameArt.java:78)
at com.example.shayari.cardmaker.NameArt.onStopTrackingTouch(NameArt.java:708)
at android.widget.SeekBar.onStopTrackingTouch(SeekBar.java:121)
at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:772)
at android.view.View.dispatchTouchEvent(View.java:10063)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2636)
如何防止这个错误?
更改以下内容:
public void onStopTrackingTouch(SeekBar seekBar) {
setScaledSize(seekBar.getProgress() / 100.f);
}
通过将分母从 100.f 更改为 100.0f,如下所示:
public void onStopTrackingTouch(SeekBar seekBar) {
setScaledSize(seekBar.getProgress() / 100.0f);
}
我的 SeekBar 有时会收到 NullPointerException
。
我正在学习 Android,但我无法找到修复此错误的正确方法。
我正在为 onStopTrackingTouch
SeekBar 使用以下代码:
public void onStopTrackingTouch(SeekBar seekBar) {
setScaledSize(seekBar.getProgress() / 100.f);
}
函数setScaledSize
显示如下:
private void setScaledSize(float scaledSize) {
mSizeSeekBar.setProgress((int) (scaledSize * 100.0f));
paintview.setDrawingScaledSize(scaledSize);
}
我收到类似以下日志的错误:
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.example.shayari.cardmaker.PaintView.setDrawingScaledSize(float)' on a null object reference
at com.example.shayari.cardmaker.NameArt.setScaledSize(NameArt.java:767)
at com.example.shayari.cardmaker.NameArt.access0(NameArt.java:78)
at com.example.shayari.cardmaker.NameArt.onStopTrackingTouch(NameArt.java:708)
at android.widget.SeekBar.onStopTrackingTouch(SeekBar.java:121)
at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:772)
at android.view.View.dispatchTouchEvent(View.java:10063)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2636)
如何防止这个错误?
更改以下内容:
public void onStopTrackingTouch(SeekBar seekBar) {
setScaledSize(seekBar.getProgress() / 100.f);
}
通过将分母从 100.f 更改为 100.0f,如下所示:
public void onStopTrackingTouch(SeekBar seekBar) {
setScaledSize(seekBar.getProgress() / 100.0f);
}