私は "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"について何か間違っています。
新しいアクティビティクラスを作成するにはどうすればよいですか?それはすでにこれを含んでいます:public class Game extends Activity – Mavix
私は、manifest.xmlにアクティビティを追加するだけでした。助けてくれてありがとう。 – Mavix