2011-10-24 3 views
0

나는 내 게임에 문제가있다. 나는 내 게임을 그린 표면보기를 보여주는 주요 활동을했습니다. 이제는 주 활동에서 클래스로 데이터를 전달하고 싶지만 때마다이 오류가 발생하고 LogCat에서 데이터가 전달되는 줄에서 오류가 발생합니다. 여기 내 코드 MainActivity :활동에서 클래스로 데이터 전달

public class Banka { 
public GameView gameView; 

public float currentX = 0; 
public float currentY = 0; 
public boolean touchDownTrue = false; 

public Banka (float x, float y, boolean touch){ 
    this.currentX = x; 
    this.currentY = y; 
    this.touchDownTrue = touch; 
    gameView.isReady(); 
} 

여기 내 로그 캣 오류 : 데이터를 수신

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.main); 
} 
public boolean onTouchEvent(MotionEvent event) { 
      currentX = event.getX(); 
    currentY = event.getY(); 
    if(event.getAction() == MotionEvent.ACTION_DOWN){ 
     touchDisplay = true; 
     banka = new Banka(currentX, currentY, touchDisplay); 
    } 
    if(event.getAction() == MotionEvent.ACTION_UP){ 
     touchDisplay = false; 
     banka = new Banka(currentX, currentY, touchDisplay); 
    } 
    return super.onTouchEvent(event); 
} 

클래스

여기

로그 캣 : 난

thread exiting with uncaught exception (group=0x4001b188) Uncaught handler: thread main exiting due to uncaught exception java.lang.NullPointerException at com.whlabs.nameless.Banka.(Banka.java:14) at com.whlabs.nameless.MainActivity.onTouchEvent(MainActivity.java:31) at android.app.Activity.dispatchTouchEvent(Activity.java:2064) at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643) at android.view.ViewRoot.handleMessage(ViewRoot.java:1691) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4363) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:521) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) at dalvik.system.NativeStart.main(Native Method)

+0

무엇이 오류입니까? Banka 내부에서 gameView를 어디에서 초기화합니까? – EightyEight

+0

받고있는 전체 오류를 게시 할 수 있습니까? –

+0

@Eighteight - 곧 GameView 클래스가 포함될 더 많은 코드가있을 것이므로이 코드가 작동합니다. –

답변

0

게임 뷰를 초기화하지 않으므로 NullPointerException이 발생하는 것 같습니다. 이 문제를 해결하는 한 가지 방법은 생성자에서 gameView를 다음과 같이 초기화하는 것입니다.

public Banka (float x, float y, boolean touch){ 
    this.currentX = x; 
    this.currentY = y; 
    this.touchDownTrue = touch; 
    gameView = new GameView(); 
    gameView.isReady(); 
} 
관련 문제