0

私はここで Android を学んでいます。正直に言うと、Java です。ボタンをクリックして別のアクティビティに切り替えようとしていますが、クラッシュし続けます。ボタンをクリックして切り替えようとするとクラッシュします。誰かが私が間違っているところを理解するのを手伝ってくれますか?

最初のアクティビティ:

package com.example.killacatoe;

import android.os.Bundle;
import android.app.Activity;
import android.view.*;
import android.widget.*;
import android.content.*;

public class TicTacToe extends Activity {//Start TicTactToe Class

//CONSTANTS

//Variables
Button mainButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tic_tac_toe);
    mainButton = (Button) findViewById(R.id.bPlayNow);
    mainButton.setOnClickListener(new View.OnClickListener(){

        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent i = new Intent(getApplicationContext(), playerMenu.class);
            startActivity(i);
        }   
    });
}

}//End TicTacToe Class

ジャンプ先のアクティビティ:

package com.example.killacatoe;

import android.os.Bundle;
import android.app.Activity;
import android.view.*;
import android.widget.*;

public class playerMenu extends Activity {

    Button bOnePlayer, bTwoPlayer;

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.player);
        bOnePlayer = (Button) findViewById(R.id.bOnePlayer);
        bOnePlayer.setOnClickListener(new View.OnClickListener(){

            public void onClick(View v) {
                // TODO Auto-generated method stub

            }   
        });
        bTwoPlayer = (Button) findViewById(R.id.bTwoPlayer);
        bTwoPlayer.setOnClickListener(new View.OnClickListener(){

            public void onClick(View v) {
                // TODO Auto-generated method stub

            }   
        });
    }
}

最初のアクティビティの XML は次のとおりです。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#000000"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".TicTacToe" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="30dp"
        android:textSize="50dp"
        android:text="Welcome to \nTic-Tac-Toe"
        android:textColor="#FFFFFF" />

    <Button
        android:id="@+id/bPlayNow"
        android:layout_width="150dp"
        android:layout_height="100dp"
        android:layout_below="@+id/textView1"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="137dp"
        android:textSize="34dp"
        android:text="Play now!" />

    </RelativeLayout>

2 番目のアクティビティの XML:

   <?xml version="1.0" encoding="utf-8"?>
    <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent" 
         android:background="#000000"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >
    />

    <TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="30dp"
    android:layout_x="78dp"
    android:layout_y="30dp"
    android:text="GAME MODE"
    android:textColor="#FFFFFF"
    android:textSize="50dp" />

    <Button
    android:id="@+id/bOnePlayer"
    android:layout_width="250dp"
    android:layout_height="wrap_content"
    android:layout_x="25dp"
    android:layout_y="160dp"
    android:text="Single Player"
    android:textSize="25dp" />

    <Button
    android:id="@+id/bTwoPlayer"
    android:layout_width="250dp"
    android:layout_height="wrap_content"
    android:layout_x="25dp"
    android:layout_y="220dp"
    android:text="Two Player"
    android:textSize="25dp" />

    </AbsoluteLayout>
4

4 に答える 4

1

新しいアクティビティを開始するには、マニフェスト ファイルに追加する必要があります。

<application >
    ...

    <activity
        android:name="com.example.killacatoe.playerMenu" >
    </activity>

</application>

次に onCreate() で、ボタンが押されたときに新しいアクティビティを開始するために、次のことができます。

 protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.player);
    bOnePlayer = (Button) findViewById(R.id.bOnePlayer);
    bOnePlayer.setOnClickListener(new View.OnClickListener(){

        public void onClick(View v) {
              Intent intent = new Intent(TicTacToe.this, playerMenu.class);
              startActivity(intent);                    

        }   
    });
}
于 2013-08-11T03:34:26.347 に答える
1

AndroidManifest ファイルで playerMenu を定義していることを確認してください。

<application ... >
    ...
    <activity
        android:name="com.example.killacatoe.playerMenu" >
    </activity>
</application>

詳細については、このページを確認してください
http://developer.android.com/training/basics/firstapp/starting-activity.html

于 2013-08-11T01:11:59.510 に答える
0

最初のアクティビティでこのコードを使用して、別のアクティビティにジャンプします

 onClick(View v){

    Intent ps = new Intent (TicTacToe.this,
                            PlayerMenu.class);

    startActivity(ps);
      }

マニフェスト ファイル:

  <Activity
           android:name="com.example.killacatoe.TicTacToe">
      </Activity>
于 2013-08-11T03:28:09.037 に答える