Android 相对布局按钮使应用程序崩溃

Android Relative layout button crashes app

我正在制作一个应用程序,现在我想制作一个带有图像和一些文本的按钮。 但是每次我单击按钮时,我的应用程序都会崩溃,但是 android studio 会编译。

这就是我 xml 代码制作屏幕布局的方式。

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <RelativeLayout
        android:id="@+id/buttonStartTest"
        style="@android:style/Widget.Button"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:ignore="MissingConstraints">

        <ImageView... />

        <TextView.../>
    </RelativeLayout>

</android.support.constraint.ConstraintLayout>

java代码:

package com.example.user.ballbounceapp;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.support.v7.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    RelativeLayout StartTest = findViewById(R.id.buttonStartTest);
    StartTest.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            TestActivity();
        }
    });
}

public void TestActivity(){
    Intent intent = new Intent(MainActivity.this,TestActivity.class);
    startActivity(intent);
}

};

您可能忘记在您的清单中声明您的 TestActivity
更多关于清单中活动的信息:https://developer.android.com/guide/topics/manifest/activity-element

所以你需要这样的东西: <activity android:name="TestActivity">

如果崩溃仍然存在,问题可能出在您的 TestActivityOnCreate 方法中。