Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.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_Variables_View_Android Activity_Ondraw - Fatal编程技术网

从活动到视图的Android变量

从活动到视图的Android变量,android,variables,view,android-activity,ondraw,Android,Variables,View,Android Activity,Ondraw,我尝试使用活动中的变量进行绘制。当我调用getOff方法时,程序崩溃了。我必须申报物品吗?或者我做错了什么 这是我的活动类: public class MyActivity extends Activity { PaintViewWZPGrenzwinkel paintviewgrenzwinkel; public void setPixel(double pix) { double pixel = pix; double oeffnunginradian = 2 *

我尝试使用活动中的变量进行绘制。当我调用getOff方法时,程序崩溃了。我必须申报物品吗?或者我做错了什么

这是我的活动类:

public class MyActivity extends Activity { 

PaintViewWZPGrenzwinkel paintviewgrenzwinkel;

public void setPixel(double pix) { 
    double pixel = pix; 
    double oeffnunginradian = 2 * Math.atan((B / 2) * (1 / f)); 
    double oeffnunginwinkel = Math.toDegrees(oeffnunginradian); 
    double oeffnungswinkel = pixel * (a1 / oeffunginwinkel); 
    paintviewgrenzwinkel.getOff(oeffnungswinkel); 
} 
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
            paintviewgrenzwinkel = (PaintViewWZPGrenzwinkel) findViewById(R.id.paintViewWZPGrenzwinkel1);

....}
在这里,我得到变量并绘制它

public class PaintViewWZPGrenzwinkel extends View{

double oeffnungswinkel;
public void getOff(double ow) {
    oeffnungswinkel = ow;
    invalidate();
}
@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
    paint.setStyle(Paint.Style.FILL);
    paint.setStrokeWidth(10);
    paint.setColor(Color.WHITE);
    float width = (float) getWidth() / 2;
    float height = (float) getHeight() / 2;
    float oeffnungswinkel1 = (float) (width - ((oeffnungswinkel / 2) + 5));
    float oeffnungswinkel2 = (float) (width + ((oeffnungswinkel / 2) + 5));
    canvas.drawLine(oeffnungswinkel1, height - 100, oeffnungswinkel1, height + 100, paint);
    canvas.drawLine(oeffnungswinkel2, height - 100, oeffnungswinkel2, height + 100, paint);
}
这是我的日志:

12-11 10:14:18.382: W/System.err(12939): java.lang.NullPointerException
12-11 10:14:18.382: W/System.err(12939):    at de.fovea.waldinvent.WinkelzaehlprobeActivity.setPixel(WinkelzaehlprobeActivity.java:61)
12-11 10:14:18.382: W/System.err(12939):    at de.fovea.views.CameraViewWZP.updateZoomStatus(CameraViewWZP.java:62)
12-11 10:14:18.382: W/System.err(12939):    at de.fovea.waldinvent.WinkelzaehlprobeActivity$2.onProgressChanged(WinkelzaehlprobeActivity.java:110)
12-11 10:14:18.382: W/System.err(12939):    at android.widget.SeekBar.onProgressRefresh(SeekBar.java:96)
12-11 10:14:18.382: W/System.err(12939):    at android.widget.ProgressBar.doRefreshProgress(ProgressBar.java:684)
12-11 10:14:18.382: W/System.err(12939):    at android.widget.ProgressBar.refreshProgress(ProgressBar.java:709)
12-11 10:14:18.382: W/System.err(12939):    at android.widget.ProgressBar.setProgress(ProgressBar.java:799)
12-11 10:14:18.382: W/System.err(12939):    at android.widget.AbsSeekBar.trackTouchEvent(AbsSeekBar.java:655)
12-11 10:14:18.382: W/System.err(12939):    at android.widget.AbsSeekBar.onTouchEvent(AbsSeekBar.java:574)
12-11 10:14:18.382: W/System.err(12939):    at android.view.View.dispatchTouchEvent(View.java:7817)
12-11 10:14:18.382: W/System.err(12939):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441)
12-11 10:14:18.382: W/System.err(12939):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2441)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2174)
12-11 10:14:18.392: W/System.err(12939):    at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2326)
12-11 10:14:18.392: W/System.err(12939):    at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1612)
12-11 10:14:18.392: W/System.err(12939):    at android.app.Activity.dispatchTouchEvent(Activity.java:2494)
12-11 10:14:18.392: W/System.err(12939):    at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2274)
12-11 10:14:18.392: W/System.err(12939):    at android.view.View.dispatchPointerEvent(View.java:8025)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4659)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4547)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4148)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4198)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4167)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4252)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4175)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4309)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4148)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4198)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4167)
12-11 10:14:18.392: W/System.err(12939):    at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4175)
12-11 10:14:18.402: W/System.err(12939):    at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4148)
12-11 10:14:18.402: W/System.err(12939):    at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6293)
12-11 10:14:18.402: W/System.err(12939):    at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6231)
12-11 10:14:18.402: W/System.err(12939):    at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6202)
12-11 10:14:18.402: W/System.err(12939):    at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6373)
12-11 10:14:18.402: W/System.err(12939):    at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:188)
12-11 10:14:18.402: W/System.err(12939):    at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
12-11 10:14:18.402: W/System.err(12939):    at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:177)
12-11 10:14:18.402: W/System.err(12939):    at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:6346)
12-11 10:14:18.402: W/System.err(12939):    at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6392)
12-11 10:14:18.402: W/System.err(12939):    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:791)
12-11 10:14:18.402: W/System.err(12939):    at android.view.Choreographer.doCallbacks(Choreographer.java:591)
12-11 10:14:18.402: W/System.err(12939):    at android.view.Choreographer.doFrame(Choreographer.java:559)
12-11 10:14:18.402: W/System.err(12939):    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:777)
12-11 10:14:18.402: W/System.err(12939):    at android.os.Handler.handleCallback(Handler.java:730)
12-11 10:14:18.402: W/System.err(12939):    at android.os.Handler.dispatchMessage(Handler.java:92)
12-11 10:14:18.402: W/System.err(12939):    at android.os.Looper.loop(Looper.java:137)
12-11 10:14:18.402: W/System.err(12939):    at android.app.ActivityThread.main(ActivityThread.java:5419)
12-11 10:14:18.402: W/System.err(12939):    at java.lang.reflect.Method.invokeNative(Native Method)
12-11 10:14:18.402: W/System.err(12939):    at java.lang.reflect.Method.invoke(Method.java:525)
12-11 10:14:18.402: W/System.err(12939):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
12-11 10:14:18.402: W/System.err(12939):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
12-11 10:14:18.402: W/System.err(12939):    at dalvik.system.NativeStart.main(Native Method)
改变-

paintviewgrenzwinkel = (PaintViewWZPGrenzwinkel) findViewById(R.id.paintViewWZPGrenzwinkel1);
进入-


希望它现在能正常工作。

你应该发布你的LogCat/crashlog。你何时何地调用setPixel(双像素)?调用setPixel方法时,paintviewgrenzwinkel似乎为空。在自定义CameraViewClass中,我调用setPixel(双像素)。每次我用seekbar缩放时,Pix都会改变。@ChrisJacobi我认为这不是完整的logcat。
paintviewgrenzwinkel = (PaintViewGrenzwinkel) findViewById(R.id.paintViewWZPGrenzwinkel1);