Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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
Java Android-无法将活动解析为类型_Java_Android_Types - Fatal编程技术网

Java Android-无法将活动解析为类型

Java Android-无法将活动解析为类型,java,android,types,Java,Android,Types,我是android新手,使用Eclipse(基本java和Netbeans背景) 我只是在看一个基本的游戏: 并有以下错误: 无法将活动解析为类型 ((Activity)getContext()).finish(); 上面是它出错的代码,我在谷歌上试过了,这里也没有什么真正的帮助,或者至少我理解了 下面是全班同学: package Sketchy.Game.WarSoNawty; import android.util.Log; import android.content.Context

我是android新手,使用Eclipse(基本java和Netbeans背景)

我只是在看一个基本的游戏:

并有以下错误:

无法将活动解析为类型

((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>


提前感谢您的帮助

似乎您尚未导入
活动
类。将此行添加到导入语句中(就在
声明上方):


我想你应该导入活动(
导入android.app.Activity
)没问题,很高兴我能帮上忙。:)
import android.app.Activity;