为什么我收到错误"MyActivity不是封闭的类?"

nms*_*nms 5 android android-intent

我有一个libgdx程序,它从以下类开始:

public class MyActivity extends AndroidApplication implements IActivityRequestHandler
Run Code Online (Sandbox Code Playgroud)

我需要有一个Activity类来检测屏幕大小Display(我不能在AndroidApplication课堂上这样做).

所以我添加了以下类作为我的启动器Activity:

public class MyActivity1 extends Activity
Run Code Online (Sandbox Code Playgroud)

所以在我的新课程中,MyActivity1我尝试运行我的旧课程MyActivity:

Intent myIntent = new Intent(MyActivity.this, MyActivity.class);
startActivity(myIntent);
Run Code Online (Sandbox Code Playgroud)

但是我得到了以下编译错误:MyActivity不是封闭类

清单如下

<activity android:name=".MyActivity1"
    android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>
        <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
</activity>
<activity android:name=".MyActivity"/>
Run Code Online (Sandbox Code Playgroud)

为什么我收到此错误?

Sol*_*ety 19

试试这个

  Intent myIntent = new Intent(MyActivity1.this, MyActivity.class);
  startActivity(myIntent);
Run Code Online (Sandbox Code Playgroud)

新的Intent需要当前活动的上下文(第一个参数)和您想要初始化的类(第二个参数).

  • @nms您可以重新考虑您的命名约定.我可以看到你如何轻松地将它们混合在一起,这让我觉得你的变量名可能同样命名.你可以看到,这将在未来给你带来很大的麻烦.如果你试着让他们对自己的职责更有意义,你会更好 (5认同)