Android / Java: запуск активности из метода класса - PullRequest
0 голосов
/ 11 октября 2011

Я пытаюсь начать новый вид деятельности с неактивного класса.

Из главного меню:

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;


public class Menu extends Activity {


    Button start, options;
    GameLoop Game = new GameLoop();

    @Override

    public void onCreate(Bundle mainStart) {
        super.onCreate(mainStart);
        setContentView(R.layout.menu);

    start = (Button) findViewById(R.id.bStart);

    options = (Button) findViewById(R.id.bOptions);

    start.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Intent openStart = new Intent(Menu.this, Game.class);
            startActivity(openStart);

        }
    });

    options.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Context mContext = null; //Error called for mContext to be initialized so just tried setting to null. This is most likely the error cause it would make more sense for it to be equal to "getContext()" or something like that
            Game.Start(mContext);//Here
        }
    });

    }

}

Я пытаюсь открыть действие с помощью метода Game.Start ().

import android.content.Context;
import android.content.Intent;

public class GameLoop extends Menu{
    boolean hello = false;

    public void Start(Context sContext){
        Intent openOptions = new Intent(sContext, Options.class);
        startActivity(openOptions);

    }

}

Я не уверен, что использование контекста было бы правильным способом решения этой проблемы, но я решил, что стоит попробовать. Я совершенно новичок в Java и Android, так что я в значительной степени заблудился, куда идти дальше. Любая помощь в том, что нужно предпринять, будет очень признательна.

Ответы [ 2 ]

0 голосов
/ 15 августа 2012

Добавили ли вы новые действия в androidmanifest.xml?

0 голосов
/ 11 октября 2011

Activity расширяет контекст, поэтому вы можете просто использовать this, когда находитесь внутри Activity.

Game.Start(Menu.this);

Я использую Menu.this, потому что вы внутри внутреннего анонимного класса (View.OnClickListener), где this ссылаетсяк этому внутреннему классу.

...