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>

第二个活动的 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

确保在 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 回答
1

你确定你已经在 AndroidManifest.xml 中注册了你的 PlayerMenu 活动吗?

...

请粘贴错误日志。

于 2013-08-11T01:43:28.723 回答
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 回答
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 回答