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

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

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

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    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"。它应该与您在课堂上使用的名称相同。

标签: java android button android-activity


【解决方案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"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-19
      • 2015-04-26
      • 1970-01-01
      • 2011-11-28
      • 2020-09-10
      • 2014-12-24
      相关资源
      最近更新 更多