Android Studio:使按钮打开下一个活动

Posted

技术标签:

【中文标题】Android Studio:使按钮打开下一个活动【英文标题】:Android Studio: Make a Button open Next Activity 【发布时间】:2017-12-17 02:24:16 【问题描述】:

我正在尝试制作一个包含 MainActivity 页面并可以打开另一个活动的应用程序:Main2Activity。

这是我在 activity_main.xml 页面上的按钮代码

<Button
    android:id="@+id/button"
    android:layout_
    android:layout_
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:onClick="goToMain2Activity"
    android:text="Connect"
    android:textSize="20sp"

这是在 MainActivity.java 页面中转到新活动的方法:

public void goToActivity2(View view) 
    Intent intent = new Intent(this, Main2Activity.class);
    startActivity(intent);

我也在清单中声明了它

<activity android:label="@string/app_name"
android:name="NextActivity"/>

我无法在我的模拟器中打开应用程序,所以我不确定它是否正常工作。我的 Activity 类出现错误,不允许它打开,但我的代码是否正确以使按钮工作?我是编码新手。


编辑: 这是我的清单文件的副本。如果不正确,我不确定如何声明第二个活动。

  <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="fonephree.fonephree">
    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>


    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >

        <activity
            android:name=".Main2Activity"
            android:parentActivityName=".MainActivity">
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainActivity">
            </meta-data>
        </activity>

        <activity android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

应用程序打开,但当我单击按钮时,它会将我带到主屏幕,但没有图像。

【问题讨论】:

android:onClick="goToMain2Activity" 更改为android:onClick="goToActivity2"。它应该与您在课堂上使用的名称相同。 【参考方案1】:

在 MainActivity.java 中,您的方法应该与您在 onClick 属性中创建的名称相匹配。所以它应该看起来像这样:

public void goToMain2Activity(View view)
    Intent intent = new Intent (this, Main2Activity.class);
    startActivity(intent);

【讨论】:

另外,如果没有声明,请在清单中声明 Main2Activity。 你是对的。我只是没有包括在内,因为我认为 OP 故意将其遗漏了 :) 我想我在 Manifest 中声明了它,但我不确定正确的代码是什么。有什么帮助吗? 您可以编辑您的问题并发布整个清单文件吗? 无法运行您的应用程序,您的清单看起来不错。我也看到你接受了我的回答,请随时投票!【参考方案2】:

将 xml 代码中的这一行 android:onClick="goToMain2Activity" 更改为 android:onClick="goToActivity2"

原因:在 Button 中声明了错误的函数名。

【讨论】:

【参考方案3】:

对于 xml 文件中的 android:onClick=" ”,活动名称应与您的 java 文件中调用的方法名称相同。 更改 android:onClick="goToActivity2"

【讨论】:

以上是关于Android Studio:使按钮打开下一个活动的主要内容,如果未能解决你的问题,请参考以下文章

如何防止按钮双击

打开下一个表单后,我的程序将关闭

如何在 Kotlin 中创建一个打开新活动(Android Studio)的按钮?

Flyout的“轻度解雇”需要2个点击才能打开下一个弹出窗口

在 android Studio 中,我希望当我点击按钮时,下一个活动/片段应该来自右侧

如何记住登录 Google 帐户 Android