Java 如何让我的按钮在Android Studio中打开第二个活动?

Java 如何让我的按钮在Android Studio中打开第二个活动?,java,android,button,click,Java,Android,Button,Click,我已经阅读了许多其他论坛上其他人关于这个问题的问题,但仍然无法让我的代码正常工作。我找不到我的代码有任何错误,但是在后端(Java页面)和布局页面上出现了错误 对于Java页面,它的意思是:“在android的父上下文或祖先上下文中找不到方法buttonAbout1(视图):onClick属性” 对于布局页面,它说:“GMOEd中的方法‘buttonAbout1’具有不正确的签名。检查onClick XML属性中指定的方法是否在相关活动中声明” 我的代码如下所示 提前谢谢你 主要活动(活动组)

我已经阅读了许多其他论坛上其他人关于这个问题的问题,但仍然无法让我的代码正常工作。我找不到我的代码有任何错误,但是在后端(Java页面)和布局页面上出现了错误

对于Java页面,它的意思是:“在android的父上下文或祖先上下文中找不到方法buttonAbout1(视图):onClick属性”

对于布局页面,它说:“GMOEd中的方法‘buttonAbout1’具有不正确的签名。检查onClick XML属性中指定的方法是否在相关活动中声明”

我的代码如下所示

提前谢谢你

主要活动(活动组)

清单页:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.android.gmoed">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".GMOEd">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".About2"></activity>
        <!-- ATTENTION: This was auto-generated to add Google Play services to your project for
             App Indexing.  See https://g.co/AppIndexing/AndroidStudio for more information. -->
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
    </application>

</manifest>


尝试更改
私有无效按钮out1()
的参数,使其看起来像
私有无效按钮out1(视图v)
尝试更改
私有无效按钮out1()
的参数,使其看起来像
私有无效按钮out1(视图v)
您的按钮out1方法需要正确的签名,表示正确的参数。试试这句话:

更新:哦,我刚刚看到,你把你的按钮连接到onclick上两次。要么用代码,要么用xml。下面是xml的解决方案。更改buttonAbout1方法

private void buttonAbout1(View v) {
    startActivity(new Intent(GMOEd.this,About2.class));
}

buttonAbout1方法需要正确的签名,即正确的参数。试试这句话:

更新:哦,我刚刚看到,你把你的按钮连接到onclick上两次。要么用代码,要么用xml。下面是xml的解决方案。更改buttonAbout1方法

private void buttonAbout1(View v) {
    startActivity(new Intent(GMOEd.this,About2.class));
}
一,。 首先,您需要将buttonAbout1方法公开

2.然后您需要将视图作为参数传递。如下所示

public void buttonAbout1(View v) {
Button buttonAbout1 = (Button) findViewById(R.id.buttonAbout1);
assert buttonAbout1 != null;
    buttonAbout1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(GMOEd.this,About2.class));
        }
    });
}
这里有一个快速提示 避免自己使用onClick方法。而是尝试使用android studio的意图操作(ALT+ENTER)为您生成。当您在xml中添加android:onClick=“buttonAbout1”时,然后按ALT+ENTER(确保光标位于onClick上),然后选择Create'buttonAbout1(视图)'在GMOEd中,这将在您的活动中创建方法

希望这有帮助

1。 首先,您需要将buttonAbout1方法公开

2.然后您需要将视图作为参数传递。如下所示

public void buttonAbout1(View v) {
Button buttonAbout1 = (Button) findViewById(R.id.buttonAbout1);
assert buttonAbout1 != null;
    buttonAbout1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            startActivity(new Intent(GMOEd.this,About2.class));
        }
    });
}
这里有一个快速提示 避免自己使用onClick方法。而是尝试使用android studio的意图操作(ALT+ENTER)为您生成。当您在xml中添加android:onClick=“buttonAbout1”时,然后按ALT+ENTER(确保光标位于onClick上),然后选择Create'buttonAbout1(视图)'在GMOEd中,这将在您的活动中创建方法

希望这有帮助