我正在尝试制作一个Android应用,但是当我按下按钮而不是进入下一个屏幕时,它会崩溃

时间:2019-03-14 10:54:00

标签: java android xml android-layout

我正在尝试制作一个具有多个屏幕的应用程序。 我已经制作了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)
    包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)
    包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上的按钮时,我的应用一直崩溃。

1 个答案:

答案 0 :(得分: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>