5

次のクラスで始まる libgdx プログラムがありました。

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 is not an enclosing class

マニフェストは以下の通り

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

このエラーが発生するのはなぜですか?

4

1 に答える 1

19

これで試してください

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

新しいインテントには、現在のアクティビティのコンテキスト (最初のパラメーター) と、初期化するクラス (2 番目のパラメーター) が必要です。

于 2013-03-15T23:25:35.310 に答える