2014-11-25 123 views
1

我是新来的机器人,并使用Eclipse(在基本的Java和Netbeans背景)Android的 - 活动不能被解析为一个类型

我只是下面的一个基本游戏土特:

http://www.javacodegeeks.com/

并且出现以下错误:

活动无法解析为某个类型。

((Activity)getContext()).finish(); 

上面是它有错误的代码,我试过在谷歌上看,这里也没有真正的帮助,或者至少我明白了。

这是全班同学:

package Sketchy.Game.WarSoNawty; 

import android.util.Log; 
import android.content.Context; 
import android.graphics.Canvas; 
import android.view.MotionEvent; 
import android.view.SurfaceHolder; 
import android.view.SurfaceView; 

public class MainGamePanel extends SurfaceView implements 
    SurfaceHolder.Callback { 

private static final String TAG = MainGamePanel.class.getSimpleName(); 

private MainThread thread; 

public MainGamePanel(Context context) { 
    super(context); 
    //adding the callback (this) to the surface holder to intercept events 
    getHolder().addCallback(this); 

    //create game loop 
    thread = new MainThread(getHolder(), this); 

    //make the GamePanel focusable so it can handle events 
    setFocusable(true); 
} 

@Override 
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { 

} 

@Override 
public void surfaceCreated(SurfaceHolder holder) { 
    thread.setRunning(true); 
    thread.start(); 

} 

@Override 
public void surfaceDestroyed(SurfaceHolder holder) { 
    boolean retry = true; 
    while (retry) { 
     try { 
      thread.join(); 
      retry = false; 
    } 
    catch (InterruptedException e) { 
     //try again shutting down the thread 
    } 
    } 
} 

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    if (event.getAction() == MotionEvent.ACTION_DOWN) { 
     if(event.getY() > getHeight() - 50) { 
      thread.setRunning(false); 
      ((Activity)getContext()).finish(); 
     } 
     else { 
      Log.d(TAG, "Coords: x=" +event.getX() + ",y=" + event.getY()); 
     } 
    } 
    return super.onTouchEvent(event); 
} 

@Override 
protected void onDraw(Canvas canvas) { 

} 

} 

我读过的可能意味着我的清单是不正确的,下面是该XML。

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="Sketchy.Game.WarSoNawty" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="15" 
     android:targetSdkVersion="21" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".WarSoNawty" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

在此先感谢您的帮助!

+2

我想你应该导入*活动*('进口\t android.app.Activity') – Blackbelt 2014-11-25 14:57:49

回答

1

好像你还没有导入Activity类。该行添加到您的import语句(仅高于class声明):

import android.app.Activity; 
+0

哇....我不好.. TY! – 2014-11-25 15:35:29

+0

没有概率,很高兴我能帮上忙。 :) – ridsatrio 2014-11-25 15:36:30

相关问题