2012-01-25 6 views
0

私は "mijnenveger"と呼ばれるeclipseプロジェクトを持っています。もちろん、Mijnenveger.javaファイルが自動的に作成されました。たとえばonCreateメソッドは、画面上にボタンを配置します。Android:ボタンをクリックすると他のクラスを読み込みますか?

ここでは、たとえばmenu.xmlのように、その前にメニューを作りたいと思います。ボタンのオプションで、ヘルプと再生。私が再生をクリックすると、通常のビュー(main.xmlであり、Mijnenveger.javaを含みます)が表示されます。

私はメニューにsetContentViewを設定することができます知っている:

setContentView(R.layout.main); 

しかし、それの一つの問題があります:

public class Mijnenveger extends Activity implements View.OnClickListener{ 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); //main would be replaced by menu 

をそしてmain.xmlを表示するには再生ボタンのonclickアクションを行います。アプリケーションを起動すると、Mijnenveger.javaのonCreate()にあるすべてのボタンやものを読み込む必要はありません。この場合のメニューのみ。

Mijnenveger.javaのすべてを新しいクラス(class1.javaなど)にスローし、Mijnenveger.javaをメニューにロードするだけで、再生ボタンをクリックするとクラスclass1がロードされます.javaはmain.xmlをすべてのボタンともので開きます。

私は英語で説明するのは難しいし、あなたがそれを理解してほしい:)

EDIT: は(http://stackoverflow.com/questions/2865238/how-do-i-call可能に答えを見つけます-a-javaのファイル・オン・クリック・イン・別の-javaのクラス):

startActivity(new Intent(this, Game.class)); 

私は上記の言っ行われ、ファイルGame.javaと呼ばれてきました。しかし、それは私に、このエラーを与える: コンストラクタテントを(新しいView.OnClickListener(){}、クラス)が定義されていません

EDIT2:私は今、この持っている :

final Button startgame = (Button) findViewById(R.id.startknop); 
    startgame.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      Intent i = new Intent(this, Game.class); 
      startActivity(i); 
      setContentView(R.layout.main); 
     } 
    }); 

をそして、それはまだこのを与えますエラー: コンストラクタインテント(新しいView.OnClickListener(){}、クラス)は定義されていません

"this"について何か間違っています。

答えて

0

最初に実行されるアクティビティにメニュー画面を置き、ボタンを関連するコードに対して別のアクティビティを開始させます。

は、たとえばGameActivity.javaのためのAndroid開発者向けドキュメント

2

二acitvityクラスを作成し、から活動や意図についての詳細を学びます。
メソッドの中でボタンをクリックして、GameActivityクラスを開始します。

Intent i = new Intent(this, GameActivity.class); 
startActivity(i); 
+0

新しいアクティビティクラスを作成するにはどうすればよいですか?それはすでにこれを含んでいます:public class Game extends Activity – Mavix

+1

私は、manifest.xmlにアクティビティを追加するだけでした。助けてくれてありがとう。 – Mavix

関連する問題