2013-03-15 216 views
5

我有一个libgdx程序,它下面的类开始:为什么我会收到错误“MyActivity不是封闭类?”

public class MyActivity extends AndroidApplication implements IActivityRequestHandler 

我需要有一个Activity类检测使用Display屏幕尺寸(我不能这样做,在AndroidApplication类)。

所以我增加了以下课程作为我的启动Activity

public class MyActivity1 extends Activity 

所以在我的新类MyActivity1我尝试运行我的老班MyActivity

Intent myIntent = new Intent(MyActivity.this, MyActivity.class); 
startActivity(myIntent); 

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

Manifes t如下

<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"/> 

为什么我得到这个错误?

+0

你为什么从自己调用相同的活动? – codeMagic 2013-03-15 23:26:31

+0

编号主类是MyActivity1,它应该运行MyActivity – nms 2013-03-15 23:30:18

回答

19

与此

Intent myIntent = new Intent(MyActivity1.this, MyActivity.class); 
    startActivity(myIntent); 

新的意图尝试要求当前活动的上下文(第一个参数),并要initializate(第二PARAM)的类。

+0

Ooops!是。我错误地打印了“Intent myIntent = new Intent”中的相同类。谢谢! – nms 2013-03-15 23:36:12

+0

不客气=) – SolArabehety 2013-03-15 23:36:46

+5

@nms您可能会重新考虑您的命名约定。我可以看到你如何轻松地混合这些,这让我认为你的变量名称可能会有相似的名字。正如你所看到的,这会给你带来令人头疼的问题。如果你试着让他们对自己的责任更有意义,你会变得更好。 – codeMagic 2013-03-15 23:50:09

相关问题