无法强制转换为android.app.Activity
当我运行我的应用程序时,如果我遇到这些错误,请提供帮助,我正在尝试制作一个android游戏 我已经试着解决这个问题和其他问题超过3天了无法强制转换为android.app.Activity,android,Android,当我运行我的应用程序时,如果我遇到这些错误,请提供帮助,我正在尝试制作一个android游戏 我已经试着解决这个问题和其他问题超过3天了 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.zargoun.please" android:versionCode="1" android:versionName="1.0" > <uses
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zargoun.please"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.zargoun.please.Main"
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>
i get错误:类型活动中的方法setContentView(int)不适用于参数(Maing)
这是它从libgdx库中实现的maing.java类
import com.badlogic.gdx.Screen;
public class Maing implements Screen{
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void hide() {
// TODO Auto-generated method stub
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void render(float arg0) {
// TODO Auto-generated method stub
}
@Override
public void resize(int arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
@Override
public void show() {
// TODO Auto-generated method stub
}
您的“主”类不会扩展活动。这就是我所能看到的,只有你的清单和StackTrace。我猜你的主类没有扩展活动,但请发布它 你应该:
public类主扩展活动{}
编辑 您应该进一步了解java和android。
基本上,您正在创建一个Maing对象(我不知道它可能是什么),并将其传递给setContentView方法。问题是这没有任何意义。setContentView方法只接受指向xml布局文件的int参数 在Android中,您必须在xml文件中定义布局,然后将其传递给活动并进入setContentView。如果您尝试告诉我们您正在使用的库或您正在尝试做什么,我们会更有帮助
EDIT2 这就是我问你图书馆的原因。如果您使用的是libGDX,我不知道为什么要设置视图。你不必这么做,因为一切都将在你的主游戏项目中进行管理,而不是在Android项目中。在您的活动中,您只需扩展AndroidApplication并开始游戏
public class MainActivity extends AndroidApplication {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
// your configuration
initialize(new MyGdxGame(), cfg);
}
}
我建议您阅读文档并阅读类似(like)的简单教程。
原因:java.lang.ClassCastException:com.zargoun.please.Main无法强制转换到android.app.Activity
请发布Main
的类声明com.zargoun.please.Main是否扩展了活动?是,但我需要扩展课堂游戏,知道怎么做吗??我不擅长Java Android中的游戏可以通过两种方式创建:使用SurfaceView(它实际上是你游戏的屏幕,使用位图或绘图)或使用OpenGL ES1.0或2.0。OpenGL更先进,但更适合大型项目,大多数人下载预先制作的引擎来使用它。setContentView将视图(如我之前提到的SurfaceView)或布局资源ID(如R.layout.your_layout)作为参数。要创建一个游戏,你需要阅读有关SurfaceView的内容,或者下载一个游戏引擎,比如安引擎。我使用了安引擎,我已经成功了,但是安引擎的Box2d非常愚蠢,或者说我很愚蠢。所以我决定使用libgdx,它有一个很好的Box2d,这正是我想要做的,但是我没有将它与android Activity接口。我尝试了这个方法,但效果不太好。公共类Main扩展Activity{private Maing_game;@Override protected void onCreate(Bundle savedInstanceState){//TODO自动生成的方法stub super.onCreate(savedInstanceState);_game=new Maing();setContentView(_game);}}类型活动中的方法setContentView(int)不适用于参数(Maing)我已经知道问题所在,我所指的类不是扩展视图类。你有什么建议我如何修复它。我想你应该学习更多关于Android的基础知识,或者告诉我们你用来制作游戏的库。:;)我已经在上面添加了maing类,我正在使用libgdx库我已经成功地使用libgdx设置制作了游戏,但是应用程序侦听器限制了我的android活动,而我需要充分使用它。老实说,我根本无法将其与libgdx安卓项目对接(很抱歉,由于时差的原因,未能及时回复)。请看一下,让我知道。如果您觉得我的答案有用,请随时接受。:)
import com.badlogic.gdx.Screen;
public class Maing implements Screen{
@Override
public void dispose() {
// TODO Auto-generated method stub
}
@Override
public void hide() {
// TODO Auto-generated method stub
}
@Override
public void pause() {
// TODO Auto-generated method stub
}
@Override
public void render(float arg0) {
// TODO Auto-generated method stub
}
@Override
public void resize(int arg0, int arg1) {
// TODO Auto-generated method stub
}
@Override
public void resume() {
// TODO Auto-generated method stub
}
@Override
public void show() {
// TODO Auto-generated method stub
}
public class MainActivity extends AndroidApplication {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AndroidApplicationConfiguration cfg = new AndroidApplicationConfiguration();
// your configuration
initialize(new MyGdxGame(), cfg);
}
}