我正在尝试制作Android应用,但是当我按下按钮时它会崩溃,而不是转到下一个屏幕[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我正在尝试制作一个具有多个屏幕的应用。我已经制作了2个XML文件和2个java文件,但是我找不到它出错的地方。谁能帮助我?

Here is xml file 1 (called activity_main)

    <ImageView
        android:id="@+id/marsfoto1"
        android:src="@drawable/marsfoto1"
        android:scaleType="centerCrop"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />


    <ImageView
        android:id="@+id/marsfoto2"
        android:src="@drawable/marsfoto2"
        android:scaleType="centerCrop"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/marsfoto1"/>

    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/marsfoto1"
        android:padding="60dp"
        android:background="@null"/>

</RelativeLayout>  

Here is xml file 2 (called activity_main2)

<ImageView
    android:src="@drawable/marsgroot2"
    android:scaleType="centerCrop"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<TextView
    android:text="Mast Camera"
    android:textColor="@android:color/white"
    android:textSize="32sp"
    android:padding="8dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />



</RelativeLayout>

Here is java file 1 (called MainActivity) package com.example.nasaroverapp;

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

public class MainActivity extends Activity {

    Button button;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        addListenerOnButton();
    }

    public void addListenerOnButton() {

        final Context context = this;

        button = (Button) findViewById(R.id.button1);

        button.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {

                Intent intent = new Intent(context, MainActivity2.class);
                startActivity(intent);

            }

        });

    }

}  

Here is java file 2 (called MainActivity2)。 package com.example.nasaroverapp;

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;

public class MainActivity2 extends MainActivity {

    Button button;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
    }

}

谁能告诉我我做错了什么?我一直在困惑一个多小时,当我按下activity_main上的按钮时,我的应用程序一直在崩溃。

java android xml android-layout
1个回答
0
投票

你在AndroidManifest.xml MainActivity2宣布了吗?可能是导致崩溃的原因

参见文档:https://developer.android.com/guide/topics/manifest/manifest-intro

你应该在你的AndroidManifest.xml中有这样的东西

<manifest package="com.example.myapp" ... >
    <application ... >
        <activity android:name=".MainActivity2" ... >
            ...
        </activity>
        <activity android:name=".MainActivity" ... >
            ...
        </activity>
    </application>
</manifest>
© www.soinside.com 2019 - 2024. All rights reserved.